我有一个大型项目是C#项目,我有源,但我没有构建整个项目(它太大了)。该项目不在VS.NET项目中,它由Makefile构建。所以我在运行时使用VS.NET附加到进程。
现在我想要的是当进程打开一个特定的文件时,我想打破它并得到一个堆栈跟踪。首先,我只能接受没有符号的跟踪 - 我可以在另一次运行中使用符号构建DLL。我可以使用procmon.exe查看打开文件的跟踪,但我不知道如何根据打开的文件设置断点。请建议。
答案 0 :(得分:6)
System.Diagnostics.Debugger.Break();
答案 1 :(得分:1)
假设您的makefile正在生成如Yuriy所述的PDB文件,您可以执行以下操作:
1) Attach the VS Debugger to the process you are running and
immediately hit pause/break
2) Open the file you want the debugger to break in VS editor
3) Set the breakpoint at the desired location, optionally you
can add conditions if you like (right click on the breakpoint)
4) Hit Run (F5)
这应该在代码执行时将调试器分解到所需的位置。