Vad*_*der 8 c++ visual-studio address-sanitizer visual-studio-2022
我正在尝试为 Visual Studio 2022 设置 Asan Address Sanitizer。我正在遵循 MS 的本指南: https: //learn.microsoft.com/en-us/cpp/sanitizers/asan ?view=msvc-170#ide-msbuild
\n我能够(我认为大部分)遵循说明。
\n但当我使用 Asan 运行代码时,我收到此警告。
\n==14676==WARNING: Failed to use and restart external symbolizer!\n #0 0x7ff67ec8109f in main C:\\Users\\Vader\\source\\repos\\AsanTest\\AsanTest\\main.cpp:5\n #1 0x7ff67ec81f68 in invoke_main D:\\a\\_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_common.inl:78\n #2 0x7ff67ec81ebd in __scrt_common_main_seh D:\\a\\_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_common.inl:288\n #3 0x7ff67ec81d7d in __scrt_common_main D:\\a\\_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_common.inl:330\n #4 0x7ff67ec81fdd in mainCRTStartup D:\\a\\_work\\1\\s\\src\\vctools\\crt\\vcstartup\\src\\startup\\exe_main.cpp:16\n #5 0x7ffe54d07613 in BaseThreadInitThunk+0x13 (C:\\Windows\\System32\\KERNEL32.DLL+0x180017613)\n #6 0x7ffe563226b0 in RtlUserThreadStart+0x20 (C:\\Windows\\SYSTEM32\\ntdll.dll+0x1800526b0)\nRun Code Online (Sandbox Code Playgroud)\n说明说要做 4 件事:
\n\n\n2. 关闭 /RTC1 (运行时检查) \xe2\x9c\x85 通过右键单击该字段并删除值来关闭 RTC1。\n
3.关闭/INCRMENTAL(增量链接) \xe2\x9c\x85\n
当我执行“从开发人员命令提示符处使用 AddressSanitizer”时,我没有收到此警告。
\n测试代码
\n#include <stdio.h>\nint x[100];\nint main() {\n printf("Hello!\\n");\n x[100] = 5; // Boom!\n return 0;\n}\nRun Code Online (Sandbox Code Playgroud)\n
这个问题之前已经被问过。
您可以对问题进行投票并发表评论以引起开发人员的注意。
该问题与Visual Studio调试环境有关。在 Visual Studio 中运行的同一程序将输出警告Failed to use and restart external symbolizer,但在 cmd 上不会输出警告。
有
PATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x86;%PATH%
ASAN_SYMBOLIZER_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\HostX86\x86
Run Code Online (Sandbox Code Playgroud)
在项目的属性->调试->环境中。删除该变量,警告就会消失。
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |