Visual Studio在調試時提出了什麼事件,我可以在代碼中訂閱?具體來說,我想知道調試器何時分離或停止。謝謝從正在調試的代碼附加到調試器事件?
1
A
回答
2
在一個單獨的線程中,您可以檢查Debugger.IsAttached
方法並相應地生成事件。
編輯:我只是鞭打這件事,看看它是否有效。
public class DebuggerEvents {
public delegate void DebuggingStatusChanged(EventArgs e);
public event DebuggingStatusChanged DebuggerAttached;
public event DebuggingStatusChanged DebuggerUnattached;
private readonly Thread workerThread;
public DebuggerEvents() {
var threadStart = new ThreadStart(BackgoundWorker);
workerThread = new Thread(threadStart);
workerThread.Start();
}
private void BackgoundWorker() {
bool currentStateflag = Debugger.IsAttached;
while (true) {
if (Debugger.IsAttached && !currentStateflag){
DebuggerAttached(new EventArgs());
currentStateflag = true;
}
if (!Debugger.IsAttached && currentStateflag){
DebuggerUnattached(new EventArgs());
currentStateflag = false;
}
Thread.Sleep(100);
}
}
}
1
試試這個:
System.Diagnostics.Debugger.IsAttached
而且查找條件編譯符號,並注意調試符號。
相關問題
- 1. 調試事件代碼
- 2. Hadoop調試:源代碼附件
- 3. VS2010調試器調試舊代碼
- 4. 附加XCode調試器
- 5. 無法調試.Net代碼。無法附加到進程。 SQL CLR遠程調試
- 6. Java - 崩潰後附加調試器,或加速調試器
- 7. 何時將調試器附加到w3wp.exe
- 8. XCode 4.3.2不會附加到調試器
- 9. 禁用「附加到調試器」Debugger.Launch
- 10. 將grunt附加到VSCODE調試器
- 11. 無法附加到使用調試器
- 12. 將totalview調試器附加到變量
- 13. 如何將調試器附加到WebService?
- 14. Powershell調試事件 - 行爲代碼塊
- 15. 如何調試附加到.exe的代碼
- 16. 「等待調試器附加」顯示,即使在調試模式
- 17. 調試代碼
- 18. 難以啓動VS 2010調試器附加到Outlook調試插件
- 19. IL級代碼調試器
- 20. 調試計數器代碼
- 21. 將GDB附加到Eclipse以調試JNI C++代碼
- 22. 經典的ASP:附加的調試器
- 23. 附加IntelliJ IDEA的調試器的FitNesse
- 24. 無法調試到代碼
- 25. 調試到Android源代碼
- 26. Eclipse調試器事件
- 27. 從PyCharm調試到Visual Studio C++代碼
- 28. Visual Studio將調試器附加到Windows服務 - 附加灰顯
- 29. 在調試託管代碼時調試非託管代碼
- 30. 調試測試代碼
不,調試器必須始終運行在另一個進程中。你只能輪詢。設置斷點並編輯變量值是可能的。 – 2011-03-17 22:43:03