DebugView使我的应用程序崩溃



我用C++和Visual Studio 2010完成了一个应用程序,它用OutputDebugStringW触发了很多调试信息(大约每秒50个,这显然是很多)。

如果我打开关闭DebugView 3到4次,那么我的应用程序就会变得不稳定,要么崩溃,要么行为不稳定。我在另一个应用程序上也尝试过同样的方法,激发了同样数量的调试打印(同样是在C++中使用VS 2010完成的),如果我在其他计算机上尝试,我也会经历同样的行为。两台计算机都运行Windows 7 32位。

这些打印的长度被控制为不超过512个字符,所以我不认为存在缓冲区溢出(OutputDebugStringW似乎被限制为4kb字符串)。

我试过使用Hoo-Win-Tail(这是一个类似于DebugView的软件),但没有出现问题。

有人经历过这个问题吗?

致问候,

Jet

我假设您的应用程序中存在一个(微妙的)竞争条件,只有当程序以不同的"速度"运行时,它才会暴露自己。

DebugView会使你的应用程序运行速度变慢,因此会引入不同的时间。其他工具也捕获调试输出,但在您的应用程序中没有表现出这种行为,这可能与它们引入了某种不同(更快/更慢)的时间有关。

您可以尝试DebugView++(https://github.com/djeedjay/DebugViewPP/)它为被跟踪的应用程序引入了几乎没有延迟的功能。

最新更新