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