调试AutoCAD模块

grz*_*zkv 3 c++ debugging autocad visual-studio

我正在开发一个项目,它是AutoCAD的dll模块,它为环境添加了一些新功能(如菜单,对象等).当然,菜单中存在一些错误,模块的对象.

问题如下,当我在对话框,菜单项,编辑字段或某些操作中看到一些错误时,如何找到负责它的源代码中的相应位置?除了普通调试之外,我应该使用哪些工具?

我在VS2010中使用C++.源代码有大约500 000行,因此需要一些时间来熟悉它.

Jay*_*ayP 5

这是我用于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>
Run Code Online (Sandbox Code Playgroud)

我使用AutoCAD 2008 - 将路径替换为可执行文件.在Visual Studio中,您应该能够从配置屏幕设置此项,但在Express版本中,您需要在记事本或类似的编辑器中手动进行此更改.

接下来,确保您在项目中引用的任何AutoCAD提供的dll都将"复制本地"属性设置为False.

在代码中设置所需的任何断点.

现在当你'运行'时它应该启动AutoCAD.

使用netload(在确保选择调试版本 - 发布版本不起作用的情况下在AutoCAD中加载您的dll !)

该模块应运行到您的第一个断点.