c++ - 为什么带有远程 gdb 的 Visual Studio 无法在库(Linux MSBuild 项目)上设置断点?
问题描述
我创建了一个 Linux MSBuild 项目(称为program),以便从 Visual Studio 解决方案在 Linux 系统上进行远程编译。此项目使用一个静态库(称为library),该库也是使用 Linux MSBuild Visual Studio 项目编译的。
程序和库编译良好,我能够运行程序并在程序的任何源文件中设置断点。 可以在程序的 main.cpp 文件中设置断点...但是当我引用属于library 的源文件时无法设置断点。库源代码可在远程计算机上编译库的位置获得。
如果我使用 gdb 直接在 linux 系统上运行程序并在属于库的源中设置断点,则它可以正常工作。所以我想这是由于 Visual Studio。
我尝试使用“属性”>“调试”中的“附加源文件映射路径” 。我不确定它的真正工作方式以及确切的参数应该是什么。库调试信息对位于 /home/linux/SDK/...source.cpp 的文件进行了一些引用,因此我定义了这些源文件在 Windows 计算机上的位置,如捕获中所示。无论我尝试什么,打破仍然失败。
我在 Visual Studio 2017 和 2019 上都进行了尝试,但在两个版本上都失败了,当我们将断点放在 Visual Studio IDE 中时,我发现无法显示发送到 gdb 的命令。我觉得知道发送的内容将有助于解决问题。
谢谢你的帮助!
解决方案
推荐阅读
- postgresql - PostgreSQL 中的 cursor 和 fetch 是如何工作的
- java - 通过 url webapp java 重定向
- php - 从远程位置传输和显示图像
- python-3.x - Bokeh BoxPlot > KeyError: '标签 [SomeCategory] 不在 [index] 中'
- wpf - 在 WPF C# 中退出屏幕
- jquery - Angular5 + Jquery Datatable + Liferay 7.1 无法实例化数据表
- c# - 使用 SSL 时新的会话 ID 创建者不起作用
- git - 将 AOSP 代码从 Gerrit 镜像到 Gitlab
- javascript - 如何根据鼠标位置在背景颜色之间进行更改?
- cakephp - 如何更改cakephp3默认分页限制20到100