获取MSVC链接过程的详细信息
MSVC 链接器选项 | Microsoft Learn
获取MSVC链接过程的详细信息,类似于Linux下gcc
的LD_DEBUG
功能:
1. 使用链接器选项 /VERBOSE
在MSVC中,可以通过在项目配置里添加 /VERBOSE
链接器选项来输出详细的链接过程信息。这个选项会让链接器显示它正在处理的文件、符号查找过程等信息。
操作步骤
-
在Visual Studio中:
- 右键单击项目,选择“属性”。
- 在“配置属性” -> “链接器” -> “常规”中,找到“调试输出详细程度”选项。
- 将其设置为“详细 (/VERBOSE)”。
- 点击“应用”和“确定”保存设置。
-
在命令行中:
若你使用命令行来编译和链接项目,可以在链接命令中添加/VERBOSE
选项,示例如下:
link /VERBOSE your_object_files.obj /OUT:your_executable.exe
2. 使用 /VERBOSE:LIB
选项
/VERBOSE:LIB
选项可以让链接器显示在链接过程中搜索和使用的库文件信息。
操作步骤
-
在Visual Studio中:
- 右键单击项目,选择“属性”。
- 在“配置属性” -> “链接器” -> “命令行”中,在“附加选项”里添加
/VERBOSE:LIB
。 - 点击“应用”和“确定”保存设置。
-
在命令行中:
link /VERBOSE:LIB your_object_files.obj /OUT:your_executable.exe
3. 使用 /MAP
选项生成映射文件
/MAP
选项可以生成一个映射文件,该文件包含了链接过程中符号的详细信息,如符号的地址、所属模块等。
操作步骤
-
在Visual Studio中:
- 右键单击项目,选择“属性”。
- 在“配置属性” -> “链接器” -> “调试”中,找到“生成映射文件”选项,将其设置为“是 (/MAP)”。
- 可以在“映射文件名”中指定映射文件的名称和路径。
- 点击“应用”和“确定”保存设置。
-
在命令行中:
link /MAP:your_map_file.map your_object_files.obj /OUT:your_executable.exe