你好,根据文档,您需要在IDE中另外设置这些选项:
1.程序数据库(/Zi)
2.关闭编辑并继续
3.关闭 /RTC1(运行时检查)
4.关闭 /INCREMENTAL(增量链接)
我测试了样品,效果很好。
如果以上设置未能生效,恐怕需要提供更相关的信息。
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。
我已按照此文档运行启用了 asan 的最小 MSVC 编译应用程序:https://learn.microsoft.com/en-us/cpp/sanitizers/asan?view=msvc-170#command-prompt
在 Windows 10 上运行可执行文件时,使用最新的 msvc v16.11.7(我们还在另一台电脑上测试了 2 个早期版本),运行时输出仅包含前 2 行。 所以我可以看到:
AddressSanitizer: global-buffer-overflow on address 0x006fbed0 at pc 0x00691155 bp 0x00cafb14 sp 0x00cafb08
WRITE of size 4 at 0x006fbed0 thread T0
但除了这些行之外,我没有得到任何信息,程序执行已停止,我必须按“ctrl+c”在命令行上退出。 我希望看到 Microsoft 文档所显示的内容,即包含堆栈跟踪的完整报告。 我在这里缺少什么?
Note:此问题总结整理于:address sanitizer missing output - Microsoft Q&A
你好,根据文档,您需要在IDE中另外设置这些选项:
1.程序数据库(/Zi)
2.关闭编辑并继续
3.关闭 /RTC1(运行时检查)
4.关闭 /INCREMENTAL(增量链接)
我测试了样品,效果很好。
如果以上设置未能生效,恐怕需要提供更相关的信息。
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。