Debugging 如何记录C++;如果在调试器外部运行,则出现异常,否则重试
我想做这样的事情:Debugging 如何记录C++;如果在调试器外部运行,则出现异常,否则重试,debugging,Debugging,我想做这样的事情: int main() { try { runApp(); } catch(std::exception const& ex) { if(runningInDebugger()) throw; // let the IDE show me what went wrong else displayMsgBox("Something went wrong! " + ex.what()); } } 至少在VS2008中
int main() {
try { runApp(); }
catch(std::exception const& ex) {
if(runningInDebugger()) throw; // let the IDE show me what went wrong
else displayMsgBox("Something went wrong! " + ex.what());
}
}
至少在VS2008中需要工作,但它支持的调试器越多越好
我希望它在运行时检查调试器。我不想做“#ifdef NDEBUG”,因为我根本不想做发布版本(不必担心)
那么,我应该使用什么作为“runningInDebugger()”检查呢?在Windows下,您可以调用以了解是否有附加的调试器。在Windows下,您可以调用以了解是否有附加的调试器。如果您正在使用托管代码,还可以使用。我想,在一般情况下,检测是否附加了调试器可能相当困难。我通常会在调试时尽量避免行为上的任何更改,因为我认为这是一种不好的做法,会使调试变得更加困难,但我理解您这样做的原因。如果您使用托管代码,还有一个问题。我想,在一般情况下,检测是否附加了调试器可能相当困难。我通常会在调试时尽量避免行为上的任何变化,因为我认为这是一种不好的做法,会使调试更加困难,但我理解您这样做的理由