[英]C# and MASM dll library how to debug?
我的项目有一个问题,就是说-我无法调试加载到用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中):
启用非托管代码的调试
- 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。
- 单击调试选项卡。
- 选择启用非托管代码调试复选框。
(从这里开始 )
您需要在c#项目的“调试”设置中启用非托管代码调试。 如果仍然不能解决问题,因为您拥有asm代码,则可以在asm中插入int 3
作为硬编码的中断指令,然后重新生成dll。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.