别的工程编译到dll里,主工程设置为active状态,可以在主工程里设置断点,想跟到其他工程里,但其他工程无法设置断点啊。现在接口还不太清楚,仅仅调试那些com组件还有困难。请问如何在其他的工程里也设置断点啊

解决方案 »

  1.   

    dll需要打开dll的工程,然后设置执行程序进行调用啊,要分开调
      

  2.   

    运行exe,在别的dll工程里设置断点,然后attach process到那个exe上去
      

  3.   

    VC6下:
    主工程的Project->Settings->debug->Category, 设成Additional DLLs, 下面的列表里加上你想调试的dll的全路径。
    然后如果有代码,而且是debug版的,就可以加断点调试了。
      

  4.   

    请问,如果不是dll,而是lib怎么办啊
      

  5.   

    现在发现lib里倒是能设断点,也能跟进去,但无法知道主程序哪里调用的它。因为vc里的调用堆栈都是汇编。只有当前调试的lib工程可以找到函数
      

  6.   

    不会呀,如果是lib,直接调试主程序就可以在lib的代码里设断点停下来的,而且肯定也能从调用栈里看到主程序的代码的。
    楼主需要确定的是,编译debug版主程序的时候是否链接的是debug版的lib,最好都是debug正常调试。而且可以在debug启动的时候,看看output窗口,每一个加载的dll,是Loaded Symbols for xxx.dll 还是Loaded 'xxx.dll', no matching symbolic information found。前者加载了符号,是可以调试的,后者是没戏的。
      

  7.   

    可以在要设置断点的地方使用如下的语句:
    __debugbreak();
      

  8.   

    生成带debug   info的lib