我有一个应用程序在C++与Visual Studio 2010中完成,它正在用OutputDebugStringW(大约每秒50次,这显然是很多)触发了很多调试信息。DebugView使我的应用程序崩溃
如果我打开关闭DebugView 3 ou 4次然后我的应用程序变得不稳定,并且崩溃或行为不正常。我已经尝试了与另一个应用程序发射相同数量的调试打印(同样在VS 2010中完成的C++),并且我经历了相同的行为,如果我尝试在另一台计算机上也是如此。这两台电脑都运行Windows 7 32位。
这些打印的长度被控制为不超过512个字符,所以我不认为有缓冲区溢出(OutputDebugStringW似乎限制为4kb字符串)。
我试过用Hoo Win Tail(这是一个类似于DebugView的软件)并且不会发生问题。
有没有人遇到过这个问题?
最好的问候,
喷气
它如何崩溃?关于例外的任何细节导致? DebugView可能会使'OutputDebugString'调用处理时间更长,并使运行时行为分别受到影响。 –
它崩溃的方式如下: 应用程序的通知区域图标被替换为无(透明图标),并且图标的工具提示文本被随机的字符替换。之后的软件完全崩溃,被冻结或者做了一些奇怪的状态机序列。 该软件的结构是一个状态机,它的设计非常慢(比如每5-10秒做一次),所以OutputDebugString的cpu过载不应该使其崩溃。 – Jet