比如在同一个项目下有两个cpp
//a.cpp//只是简单示意一下,不是正确代码
class ff
{ff::function()
{.....;
}
}
//b.cpp
include a.h;
ff f1;//新建一个类ff的对象
f1.function();
程序能够正常运行,得到正确结果,可是当我在f1.function;前打断点的时候,断点显示程序是可以执行这个语句的,但是在ff::function()之前的断点在run程序时就会变成
就是标在 a.cpp中ff::function()函数语句前的断点会如图显示
请问是为什么呢?是项目属性设置有问题吗?
工程设置依赖项,然后全部重新编译,再设置断点,然后运行调试。
DLL你可以直接调试DLL工程,F5,然后编译器会提示你选择加载DLL的exe程序
这是我工程属性中的 C/C++ 和 链接 里的 ->“ 命令行参数”
有大神说是
“你这个工程是生成的动态链接库文件,此文件必须依赖一个应用程序的调用才能进行调试。
1 将要调用动态链接库的程序放到生成动态链接库的同一个目录下
2 在项目属性第二项 Debugging(在线调试)一项中 第一条(Command)命令项 选择刚才与生成动态链接库的同一个目录的调用程序,点击(Ok)确定。
3 使用F5 启动调试”
但是
这个项目之所以生成动态链接库,其实是为了另一个project 2调用,现在project 1 和 project 2在同一个solution下,然后project 2调用project 1的动态链接库,project 1的动态链接库在project 2的debug文件夹中生成,然后修改了command后依然存在同样问题。