C++ 程序在释放模式下消失,但插入蜂鸣音(0,0)后工作正常

C++ 程序在释放模式下消失,但插入蜂鸣音(0,0)后工作正常,c++,C++,该程序在调试器下运行良好(即使在发布模式下),因此我必须插入Beep(500200)以找出它失败的最后一点。我将其缩小为一个调用CreateProcess()的线程进程。如果在通话后插入蜂鸣音,程序将消失而不发出声音,但如果在通话前插入蜂鸣音,程序将发出蜂鸣音并继续运行,不会出错 为了防止恼人的哔哔声,我用哔哔声(0,0)来代替它,我一直很高兴。我确实尝试过睡眠(0),但这不起作用 我曾经是一名Lisp程序员,有一些类似的经历:插入(princ“debug”),直到找到spot,然后用(prin

该程序在调试器下运行良好(即使在发布模式下),因此我必须插入Beep(500200)以找出它失败的最后一点。我将其缩小为一个调用CreateProcess()的线程进程。如果在通话后插入蜂鸣音,程序将消失而不发出声音,但如果在通话前插入蜂鸣音,程序将发出蜂鸣音并继续运行,不会出错

为了防止恼人的哔哔声,我用哔哔声(0,0)来代替它,我一直很高兴。我确实尝试过睡眠(0),但这不起作用

我曾经是一名Lisp程序员,有一些类似的经历:插入(princ“debug”),直到找到spot,然后用(princ)替换它


问题是为什么?

根据您的命名约定,我认为您正在使用Visual Studio,但您没有这样说(您可以添加有关这方面的信息,这会有所帮助)


如果您使用的是Visual Studio,您可以调试在发布模式下编译的程序,您只需附加到他的进程,并且您可以开始设置一些断点,调试的蜂鸣音无效,因为您必须在需要设置/更改“检查点”时重新编译程序而且您不能正确地调试堆栈损坏问题,也不能检查堆栈

您是否可以与我们共享任何(最少的)代码来展示您遇到的问题?问题是为什么。。。为什么?为什么您在Lisp中有类似的经历?为什么您使用insrt打印“调试”?:)你可以说更多关于你的ide和编译器有什么东西被记录到事件日志中吗?我想知道是哪一种命名约定让你指向VS。很明显,他说的是windows,但你为什么认为它是VS?问题的第一句说他在发布模式下在调试器中运行它……而且,哔哔声可能会影响程序的执行时间。