我有一个C#的程序要调用vc的dll。我如何设置才可以相互跟进入调试?

解决方案 »

  1.   

    具体说来,需要一些步骤:简单的说如下:正确生成vc的dll 的debug版本,选择多线程调试;然后启动你编写好的程序,然后在vc的项目工程里,调试一栏里,选择"附加到进程",
    选择你启动的应用程序进程;
    当你看到项目工程里下的断点 “可以与原版本不一致” 时有效时,说明就可以断到这里;
    然后执行应用程序,当用到整个dll中的接口函数时,就能够走到相应的断点。
    我一直是这么调试的,很管用;
    c#也是类似,
      

  2.   

    好不容易打了一段,丢了,我靠;如下:vc中,生成debug版本的dll ,一定要是debug版本的,否则加载不了调试符号;然后 执行你生成好的应用程序,使用debug版本的vc dll;然后在你开发的vc dll 项目工程里,vs 平台下,
    选择调试里的,附加到进程,附加到你应用程序对应的进程里然后在dll 的项目工程文件里,附加断点,如果断点有效(可以选与原始版本不一致)
    那么就大功告成了,当你的应用程序使用到这个dll时,就会走进去了就这样
      

  3.   

    工程属性->调试->启用非托管代码调试
      

  4.   

    谢谢。要放在一个工程里吗。还是设置好后dll中选择start new instance选C#的exe?
      

  5.   

    我的c#程序调试页里,为什么没有启用非托管代码调试的选项啊。我用的是wpf
      

  6.   

    搞定了。谢谢sjdev
     
    ([兔子党秘书长]) 向你多学习。
      

  7.   

    在vc里debug模式下设好断点后,直接f5,vs会提示你指定一个调用dll的程序,当然在debug目录下要有这个程序,指定好之后就可以在vc里断点调试了。
      

  8.   

    正确生成vc的dll 的debug版本,选择多线程调试;然后启动你编写好的程序,然后在vc的项目工程里,调试一栏里,选择"附加到进程",
    选择你启动的应用程序进程;
    当你看到项目工程里下的断点 “可以与原版本不一致” 时有效时,说明就可以断到这里;
    然后执行应用程序,当用到整个dll中的接口函数时,就能够走到相应的断点。
    我一直是这么调试的,很管用;
    c#也是类似,