在 Windows 上挂在 printf 中

Mic*_*ael 7 c++ windows printf visual-c++

所以这是我的最小样本:

int main( int argc, char* argv[] )
{
  printf("First stuff\n");
}
Run Code Online (Sandbox Code Playgroud)

我的程序挂在 printf 上。我已经通过调试器深入研究了反汇编。执行进入 printf,进入call qword ptr [__imp___stdio_common_vfprintf (07FF67A6D73F0h)]

从这里开始,跳转/调用是未命名的。该代码挂call在一个显式地址上。这是有人以前见过的东西吗?我正在使用 MSVC 工具 v142、VS 2019、SDK 10.0.18362.0

我的程序运行良好,突然开始挂在 printfs 上。我以为我引入了某种内存损坏,直到我将 printf 移到程序的第一行并看到相同的结果。删除我的输出文件夹并重新编译没有效果。虽然看起来一些代码更改确实可以让我摆脱这种奇怪的模式,但它会再次随机发生。

此外,关闭 Visual Studio 并重新打开,然后重建似乎可以解决该问题。