dnSpy:设置断点
设置dnSpy的断点操作步骤如下:
加载目标程序集:
- 打开dnSpy,点击菜单栏“文件”>“打开”,选择要调试的.NET程序集(如EXE或DLL文件)。
- 程序集加载后,左侧树形视图会显示命名空间、类和方法结构;双击目标方法,在右侧代码编辑器中定位到相关代码行。
添加断点:
- 在代码编辑器中,找到需中断的行号左侧区域(通常为灰色边距),单击该位置,使其变为红点标记,表示断点已设置成功。
- 可通过“调试”菜单的“断点”窗口统一管理所有断点(如添加、删除或禁用)。
启动调试会话:
- 右键点击目标方法或类,选择“调试”选项,或从菜单栏“调试”>“开始调试”启动调试器。
- 程序执行到断点处会自动暂停,此时可观察“局部变量”窗口查看当前变量值,并使用“单步执行”功能逐步运行代码。
方法一(直接启动):右键目标方法或类,选择“调试”或按F5键运行程序,触发断点后自动暂停。
方法二(附加进程):对运行中的进程(如IIS的w3wp.exe),通过“调试”>“附加到进程”选择目标进程ID附加。
执行单步调试
程序暂停于断点后,使用调试工具栏或菜单命令:
“单步执行”(F11):逐行运行代码,进入方法内部。
“单步跳过”(F10):执行当前行但不进入嵌套方法。
“跳出”(Shift+F11):完成当前方法并返回调用处。
在“局部变量”窗口中实时监控值变化。
若无法设置断点:
- 确保程序集已正确加载到dnSpy中,并以管理员身份运行dnSpy解决权限问题。
- 调试前验证系统环境(如.NET Framework版本),必要时重新加载程序集或设置环境变量
COMPLUS_ZapDisable=1
以兼容调试。