我有一個應用程序,我沒有代碼,以及我有代碼的dll。我需要能夠調試到DLL,但缺乏EXE的來源,我該怎麼做?如何在執行期間停止C++應用程序以調試到dll?
該dll代碼是mfc C++;我相信主應用程序也是一樣的。
我試着做一個'設置目標應用程序'的協議,在那裏我設置的應用程序,該DLL將被調用,並且應用程序崩潰一個可怕的,可怕的死亡,當這樣調用。我不知道錯誤在於這個dll還是這個行爲的可執行文件,這只是我想解決的無數事情之一。
我在想,應該有一些調用來允許DLL無限期旋轉,直到調試器連接到進程,此時我應該能夠通過附加到進程來調試DLL。那有意義嗎?有一個更好的方法嗎?
如果先啓動exe然後附加調試器,會發生什麼?您還無法設置斷點? – Naveen 2009-06-02 18:13:00
我懷疑你需要以你描述的標準方式調試exe/dll時才能到達崩潰的底部。雖然你可以在應用程序啓動後「附加」一個調試器,但是我不知道系統是否會隨即崩潰。 – Aardvark 2009-06-02 18:22:59
@Naveen:如果我附加到正在運行的進程,則忽略斷點。 @Aardvark:在我將要嘗試的那個調試中斷事件後我會發現。我強烈懷疑,由於應用程序和dll通過希望和膠帶粘在一起,我不打算修復崩潰。我只想提取一部分dll,以便能夠以一種理智的方式進行重寫。 – mmr 2009-06-02 18:35:15