我想在C++中剖析一個dll插件。我可以訪問源代碼(作者/ mantainer)並可以修改它們(如果儀器需要)。 我沒有的是調用dll的主機程序的源代碼/符號/等。我只有構建插件所需的頭文件。 該DLL是在來自客戶端的操作時調用的。分析一個dll插件
進行分析代碼的最佳方法是什麼?將一個可執行文件「包裝」到dll中並不實用,因爲在插件中,我從主機調用某些函數,並且需要對這些路徑進行配置,所以包裝會扭曲性能。基倫約翰斯頓的評論後
編輯:理想我想掛接到加載的DLL就像調試器能夠(連接到正在運行的宿主進程,並根據需要在DLL中放置一個斷點的地方)。可能嗎?如果沒有,我會需要問一個問題要問爲什麼:-)
我使用的Visual Studio TFS版本爲AIX下相同的任務提供建議/答案2010
獎勵積分(啊,多環境的樂趣!)。
您使用哪種分析器?你只是嘗試運行主機程序?如果您有插件的符號,它應該仍然可以工作。 –
VS2010中內置的分析器。我會嘗試解開主機程序的啓動過程,但這並不容易,因爲它需要各種其他程序/連接。這不是一個簡單的foo.exe ...它需要我一點時間,所以我想檢查是否有某種方法可以「掛鉤」到加載的dll中,就像調試器能夠做到的那樣。 – Francesco
在您的解決方案中爲您的dll啓用分析器,將所有程序樹複製到可執行文件夾中,或者使vs將dll放入程序文件夾。設置可執行文件名爲foo.exe並運行分析器... – neagoegab