将 Visual Studio 2008 指向第三方 DLL 的源代码进行调试

2024-04-02

我有一个 VS 2008 C++ 项目,它使用第三方库(开放场景图)。

当我开始调试项目时,每次调用此外部库中的函数时,调试器都会跳过它,因为(显然)调试器没有可在其中查找代码的 .cpp 文件。它只会跳转到链接到我的项目的头文件,因为这些文件存在并且它们的位置已知。因此,我只能看到那些小内联函数中发生的情况,而看不到较大函数的情况,这些函数的实现位于我没有的 .cpp 文件中。

我需要以某种方式单步执行这些第三方 dll/lib 的源代码,就像我处理自己的代码一样。

我下载了该库的完整源代码并在我的机器上编译了它。现在我有了 dll 和 libs、.pdb 文件和 .cpp 文件。但是我到底如何告诉 Visual Studio 第三方库的 .cpp 文件的位置,以便它知道,当我想单步执行来自 .dll 或 .lib 的函数时,它会打开相应的 .cpp 文件。 cpp 文件(即使它不在我的项目中并且位于完全不同的文件夹中)?

这是可能吗?

我尝试将 .libs、.dll(调试版本)、.pdbs 复制到我的项目使用的位置和“其他库目录”以及项目的文件夹,但这一定是不够的。


将包含 PDB 文件的目录添加到工具 -> 选项 -> 调试 -> 符号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Visual Studio 2008 指向第三方 DLL 的源代码进行调试 的相关文章

随机推荐

  • Any 类型没有下标成员 Swift 3.0

    尝试转换函数以使其兼容 Swift 3 0 必须更改参数json from AnyObject to Any fileprivate func checkForAuthorizationFailure json Any gt Bool le
  • 错误:数字最多只能安全存储 53 位

    我正在尝试在 quorum 中执行原始事务 但收到错误 错误 数字最多只能安全存储 53 位 代码是 web3 eth sendSignedTransaction rawTx then function transactionReciept
  • Jenkins - 运行 NuGet 包还原来生成此文件

    当我在 Jenkins 构建服务器上构建 NET Standard 2 0 库时 C Program Files dotnet sdk 2 1 302 Sdks Microsoft NET Sdk targets Microsoft Pac
  • 为什么我的复选框没有映射到 MVC 模型成员?

    我正在尝试实现什么这个答案表明 https stackoverflow com a 10649724 57428但没有将显示名称存储在我的模型代码中 所以我相信这是一个单独的问题 我有 MVC 视图 和一个模型 public class M
  • dask 数据帧的 iloc 相当于什么?

    我遇到一种情况 我需要按位置索引 dask 数据帧 我看到没有 iloc方法可用 还有其他选择吗 或者我是否需要使用基于标签的索引 例如 我想 import dask dataframe as dd import numpy as np i
  • 如何检索 QTableView 的选定行?

    我正在使用QTableView具有该模型的类 class PaletteTableModel QtCore QAbstractTableModel def init self colors headers parent None QtCor
  • 数据未通过 wp_localize_script 正确传递

    我正在尝试将 PHP 数据传递给 JS 脚本 我正在使用 wp localize script 函数 wp register script googlechart https www gstatic com charts loader js
  • 如何从 iframe 读取父页面的页面标题?

    我有一个页面调用另一个页面 在另一台服务器上 我希望该页面从父页面读取标题 这可能吗 或者这是否存在一些安全问题 您无法像这样跨服务器进行通信
  • 如何在金属中使用texture2d_array数组?

    我一直在尝试使用texture2d array来应用金属中的实时滤镜 但我没有得到正确的结果 我像这样创建纹理数组 Code Class MetalTextureArray class MetalTextureArray private s
  • 在 iOS 中使用 WKWebView 请求桌面站点

    我到处搜索 但找不到一种方法来请求网站的桌面版本而不依赖网站本身 他们自己的 桌面版本 按钮 有没有办法做到这一点 我认为如果我可以让它在 UIWebView 中工作 那么在 WKWebView 上也可以以相同的方式完成 如果你只关注iOS
  • 将旧日志从 filebeat 重新发送到logstash

    在此先感谢您的帮助 我想重新加载一些日志来自定义其他字段 我注意到 filebeat 配置中的注册表文件会跟踪已选择的文件 但是 如果我删除该文件中的内容 我将无法恢复旧日志 我还尝试更改注册表文件中源的时间戳 但没有成功 将旧日志从 fi
  • 散景图像绘图的较小范围填充

    我正在使用 bokeh 1 0 4 我想使用 bokeh 生成图像图match aspect True 这是用于说明的示例代码 from bokeh models ranges import DataRange1d from bokeh p
  • Tomcat 热部署不工作

    我在 Tomcat 6 服务器上热部署新的 WAR 时遇到问题 当我添加新的 WAR 时 我可以看到 Tomcat 正在尝试部署它 但是 我认为问题在于取消部署旧的 war 展开的 war 文件夹的内容全部被删除 除了 WEB INF 文件
  • Azure数据工厂自动重新触发失败的管道

    我想使用 If Condition Activity 动态内容 自动重新触发失败的管道 过程 管道 1 在计划时间使用触发器 1 运行 有效 如果管道 1 失败 计划触发器 2 将运行管道 2 有效 管道 2 应包含 if 条件来检查管道
  • 从函数提前返回是否比 if 语句更优雅?

    我自己和一位同事对于以下哪一个更优雅存在争议 我不会说谁是谁 所以这是公正的 哪个更优雅 public function set hitZone target DisplayObject void if hitZone target hit
  • 自定义 jQuery 子菜单定位

    我正在尝试创建一个至少有两层子菜单的水平菜单 所有子菜单都是垂直的 Submenu1 将位于其父菜单的正下方 所有后续子菜单级别 2 应位于其父菜单的右侧 我刚刚开始学习如何使用 jQuery 菜单 他们似乎没有对此进行自定义 我不知道如何
  • 计算机如何进行浮点运算?

    我看过很长的文章解释如何存储浮点数以及如何完成这些数字的算术运算 但请简要解释一下为什么当我写的时候 cout lt lt 1 0 3 0 lt
  • 从头开始创建,还是从头开始构建?

    我正在考虑建立一个可视化编程语言 http en wikipedia org wiki Visual programming language 类似于Scratch http scratch mit edu 供儿童 又称可怜的打字员 在对微
  • Go中如何生成固定长度的随机数?

    在 Go 中生成固定长度随机数的最快 最简单的方法是什么 假设要生成8位长数字 问题是rand Intn 100000000 是结果可能远小于 8 位数字 并且用前导零填充它对我来说看起来不是一个好的答案 也就是说 我更关心随机性的质量 因
  • 将 Visual Studio 2008 指向第三方 DLL 的源代码进行调试

    我有一个 VS 2008 C 项目 它使用第三方库 开放场景图 当我开始调试项目时 每次调用此外部库中的函数时 调试器都会跳过它 因为 显然 调试器没有可在其中查找代码的 cpp 文件 它只会跳转到链接到我的项目的头文件 因为这些文件存在并