描述
我的项目有点问题,据说 - 我无法调试加载到用 C# 编写的程序的 dll(用 MASM 编写)。我确实在 dll 中程序的各个位置留下了断点,但没有任何反应。程序执行只是通过过程而不停止。
我使用 Visual Studio 2010 并具有以下解决方案结构:
Solution
|
+--+ the masm dll project
| |
| +- *.asm
| |
| +- *.def
|
+--+ C# dll library poject
|
+--+ my C# project
因此我可以访问 dll 的源代码,并且它的项目与调用项目在同一个解决方案中。
但是,当我在 C# 库项目中设置断点时,它可以工作。
而且我仍然无法调试这个虫子。谁能指出我解决问题的方法?
解决方案
坎福德给予
为了能够调试非托管 dll(不仅是 masm、nasm 等),您所要做的就是启用非托管代码调试,这是通过以下方式完成的(在 VS2010 中):
启用非托管代码的调试
- 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。
- 单击调试选项卡。
- 选中启用非托管代码调试复选框。
(从这里)