VS调试期间出错,但直接运行exe文件时没有错误

时间:2018-01-10 23:38:25

标签: c++ windows visual-studio

我有一个非常简单的c ++示例项目,它基本上只是登录到第三方库(.lib文件集合)

提供了4种配置md,mdd,mt,mtd。全部是x64。

我可以构建mdd模式并直接运行Exe文件,程序运行正常。

但是如果我在VS中运行调试器,第三方库会抛出一个运行时异常“向量删除析构函数”。

 try
 {
    engine = new Engine(&params);   
 }
    catch (XxxException& Ex)
 {
    return (ERROR);
 }


Exception thrown at 0x00007FFA52003FB8 in Sample.exe: Microsoft C++ exception: XxxException at memory location 0x000000224C53F190.
Exception thrown at 0x00007FFA52003FB8 in Sample.exe: Microsoft C++ exception: XxxException at memory location 0x000000224C53F690.

0x00007ff75d5ab3e0 {Sample.exe!const XxxException::`vftable'} {0x00007ff75d2d8a50 {Sample.exe!XxxException::`vector deleting destructor'(unsigned int)}}

所以我无法调试。

这是什么错误,为什么它只出现在VS Debugger中?

1 个答案:

答案 0 :(得分:0)

解决方案是从$(ProjectDir)

更改调试中指定的工作目录

到$(TargetPath),exe所在的位置!

不是C ++历史上的精彩文物!