工程包含了其他模块,导致找不到共用类函数的调试信息(实现代码)的问题

littlepboy 2009-09-29 09:03:16
标题没办法解释清楚,这里举例描述一下问题:

ProjectA(主程序)包含了B.lib(ProjectB),ProjectA和ProjectB都用到了STL,并且不是在同一台机器上编译的。
当在ProjectA中调试程序时想进入STL的函数实现,发现根本进不去。
比如这一行代码:
std::string str("CSDN");

在这行代码下断点并Step Into,发现无法进入string的构造函数。
如果给某些STL函数传入错误参数,调试时发生错误中断后也无法定位到源码。

分析问题应该是ProjectA链接的STL根本不是在本机的源码,而是B.lib中已经编译进去的STL的实现。
由于B.lib是在另一台机器上编译的,所以ProjectA中找不到STL的源码实现。
改变STL头文件和ProjectB提供的头文件的包含顺序也无济于事。
后来又发现有些工程包含了dll也会出现一样的问题,比如ProjectA隐式链接C.dll(ProjectC)。

所以我的问题是,是否能够通过改变工程设置或其他方法,能够让我的ProjectA链接我本机的STL源码,而不是链接子模块中的STL实现?
...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlepboy 2009-12-14
  • 打赏
  • 举报
回复
没人回答偶滴问题呀,哭啊~~~
littlepboy 2009-11-25
  • 打赏
  • 举报
回复
难道都没有人遇到过类似的问题?呼唤高手解答~~~第三遍了。。。
littlepboy 2009-11-10
  • 打赏
  • 举报
回复
再次呼唤高手帮忙解答,嗷~~~
dingpo2099 2009-10-12
  • 打赏
  • 举报
回复
顶一下~!
littlepboy 2009-10-10
  • 打赏
  • 举报
回复
呼唤高手帮忙解答,嗷~~~
wx23990915 2009-09-30
  • 打赏
  • 举报
回复
顶顶

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧