繁体   English   中英

C#和MASM dll库如何调试?

[英]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中):

启用非托管代码的调试

  1. 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。
  2. 单击调试选项卡。
  3. 选择启用非托管代码调试复选框。

(从这里开始

您需要在c#项目的“调试”设置中启用非托管代码调试。 如果仍然不能解决问题,因为您拥有asm代码,则可以在asm中插入int 3作为硬编码的中断指令,然后重新生成dll。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM