我正在开发一个项目,它是AutoCAD的dll模块,它为环境添加了一些新功能(如菜单,对象等).当然,菜单中存在一些错误,模块的对象.
问题如下,当我在对话框,菜单项,编辑字段或某些操作中看到一些错误时,如何找到负责它的源代码中的相应位置?除了普通调试之外,我应该使用哪些工具?
我在VS2010中使用C语言.源代码有大约500 000行,因此需要一些时间来熟悉它.
解决方法:
这是我用于C#/ .NET的方法.我不能保证它也适用于C dll但它值得一试.
首先,在解决方案的Visual Studio配置文件中,将以下行添加到Debug | Any CPU配置中:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<!-- there should be other options already in here! -->
<StartAction>Program</StartAction>
<StartProgram>c:\program files\autocad2008\acad.exe</StartProgram>
</PropertyGroup>
我使用AutoCAD 2008 – 将路径替换为可执行文件.在Visual Studio中,您应该能够从配置屏幕设置此项,但在Express版本中,您需要在记事本或类似的编辑器中手动进行此更改.
接下来,确保您在项目中引用的任何AutoCAD提供的dll都将Copy Local属性设置为False.
在代码中设置所需的任何断点.
现在当你’运行’时它应该启动AutoCAD.
使用netload在AutoCAD中加载dll(确保选择调试版本 – 发行版本不起作用!)
该模块应运行到您的第一个断点.