簡體   English   中英

如何附加到加載我的DLL並調試它的進程

[英]how to attach to a process that loads my DLL and debug it

基本上,我正在開發一個將由第三方軟件使用的DLL(開放接口)。 我希望在這個第三方DLL加載后調試我的DLL,因為我發現了一個特定的錯誤,只有在我的DLL被這個第三方軟件加載時才會發生(我的DLL適用於接受這個開放接口的所有其他軟件)

我在代碼DLL中設置__debugbreak()並運行第三方軟件。 一個Visual Studio對話框確實跳起來詢問我是否要調試..但是在我單擊OK之后,而不是進入一個可視工作室窗口,顯示我設置斷點的代碼行,visual studio只是崩潰了。

我發現第三方軟件加載我的DLL並在另一個線程中運行它。 我懷疑這就是第三方軟件崩潰的原因,因為有效的__debugbreak()會在主線程啟動的線程中拋出一個未被捕獲的execption。

在這種情況下,我如何調試我的DLL?

不幸的是,VS崩潰了,但你可能會找到解決方法。

最好立即開始調試會話。 或者在消息框或其他輸入上阻止進程時使用“附加到進程”。 也更好地使用斷點。

使用__debugbreak()或強制訪問沖突嘗試詢問VS的新實例而不是現有實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM