在 C++ 中打印完整的回溯

2023-12-30

我想以与 gdb 中类似的格式从 Linux 中的 C++ 程序转储回溯。我尝试使用 backtrace() 和 backtrace_symbols() 函数来实现此目的。这些返回的函数名称和偏移量。我可以使用 __cxa_demangle() 函数来获取可读的函数名称。

有没有办法也获取文件/行位置,因为它是由 gdb 完成的?


从程序中调用 gdb 来打印其堆栈跟踪如何更好? https://stackoverflow.com/questions/3151779/how-its-better-to-invoke-gdb-from-program-to-print-its-stacktrace/4611112#4611112`

方法 #4,展示了一种获取文件名和行的方法。但使用外部程序..

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

在 C++ 中打印完整的回溯 的相关文章

  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • 将类对象放置在向量中?

    我注意到我可以将一个类放置在一个向量中 这是我的程序 我收到以下错误 out blackjack exe blackjack obj blackjack obj error LNK2019 unresolved external symbo
  • 现代 C++ 编译器是否能够在某些情况下避免调用 const 函数两次?

    例如 如果我有以下代码 class SomeDataProcessor public bool calc const SomeData d1 const SomeData d2 const private Some non mutable
  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 当事件button.click发生时,如何获取按钮名称/标签?

    我以编程方式制作按钮并将它们添加到堆栈面板中 以便每次用户导航到页面时按钮都会发生变化 我正在尝试做这样的事情 当我单击创建的按钮时 它将获取按钮的标签并转到正确的页面 但是 我无法使用 RoutedEventHandler 访问按钮元素
  • 如何将 SOLID 原则应用到现有项目中

    我对这个问题的主观性表示歉意 但我有点卡住了 我希望之前处理过这个问题的人能够提供一些指导和建议 我有 现在已经成为 一个用 C 2 0 编写的非常大的 RESTful API 项目 并且我的一些类已经变得巨大 我的主要 API 类就是一个
  • 有些有助于理解“产量”

    在我不断追求少吸的过程中 我试图理解 产量 的说法 但我不断遇到同样的错误 someMethod 的主体不能是迭代器块 因为 System Collections Generic List 不是迭代器接口类型 这是我被卡住的代码 forea
  • extern 声明和函数定义都在同一文件中

    我只是浏览了一下gcc源文件 在gcc c 我发现了类似的东西 extern int main int char int main int argc char argv 现在我的疑问是extern是告诉编译器特定的函数不在这个文件中 但可以
  • 即使没有异步,CallContext.LogicalGetData 也会恢复。为什么?

    我注意到CallContext LogicalSetData LogicalGetData不按照我期望的方式工作 内部设置的值async方法得到恢复即使没有异步或任何类型的线程切换 无论如何 这是一个简单的例子 using System u
  • 什么是空终止字符串?

    它与什么不同标准 字符串 http www cplusplus com reference string string 字符串 实际上只是一个数组chars 空终止字符串是指其中包含空字符的字符串 0 标记字符串的结尾 不一定是数组的结尾
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • memcpy/memmove 到联合成员,这是否设置“活动”成员?

    重要说明 一些评论者似乎认为我是从工会抄袭的 仔细看memcpy 它从普通旧地址复制uint32 t 它不包含在联合中 另外 我正在复制 通过memcpy 到工会的特定成员 u a16 or u x in a union 不直接到整个联盟本
  • C++ 对象用 new 创建,用 free() 销毁;这有多糟糕?

    我正在修改一个相对较大的 C 程序 不幸的是 并不总是清楚我之前的人使用的是 C 还是 C 语法 这是在一所大学的电气工程系 我们 EE 总是想用 C 来做所有事情 不幸的是 在这种情况下 人们实际上可以逃脱惩罚 但是 如果有人创建一个对象
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 在 System.Type 上使用条件断点时出错

    这是函数 public void Init System Type Type this Type Type BuildFieldAttributes BuildDataColumns FieldAttributes 我在第一行设置了一个断点

随机推荐

  • 如果 log4net 附加程序无法写入数据库,如何记录此异常?

    我在应用程序中使用 Log4Net API 来记录任何重要事件或信息 并将异常记录到数据库中 使用Log4Net API时可能会出现异常 如果无法执行登录到数据库的操作 那么该异常将如何存储 如果 Log4Net API 无法执行日志记录
  • 如何快速创建静态类?

    我想创建一个static快速上课 这可能吗 如果是这样怎么办 I tried static class MyClass 但出现错误Declaration cannot be marked static 没有静态类 但您可以通过仅添加静态方法
  • 如何在 Chrome 中设置 DOM 断点

    我正在尝试按照教程进行操作here https developers google com chrome developer tools docs elements 我被困在该部分DOM 断点 靠近底部 I went to the exam
  • WCF JSON POST请求,单个字符串参数未绑定并返回400

    在我的WCF 天蓝色云 服务中 我想支持JSON 我正在创建一些测试方法来查看是否一切正常 我可以让 GET 调用正常工作 但是当我使用简单参数执行 POST 时 我总是会得到 The remote server returned an e
  • 如何从 Access 中的 VBA 编辑器窗口运行查询?

    我想做这样的事情 DoCmd OpenQuery select from some table 我该怎么做 请记住 我不想创建新查询 保存并运行它 我只想在 VBA 代码中键入 select 语句并运行它 如果您只想获得最大值 则DMax
  • jq 通过转换现有的 json 创建一个新的 json

    prodid 876006 serid seridone 3265874 seridtwo 21458915 serials 028915 prodid 980 serid seridone 32743214 seridtwo 546987
  • Android studio - 无法完成 gradle 执行 - 打开 zip 文件时出错

    我是 android 开发和 android studio IDE 的新手 我已经从 bitbucket 签出了一个项目 当我尝试编译它时 出现以下错误 无法完成 Gradle 执行 原因 打开 zip 文件时出错 My gradle wr
  • 从页面 JS 中访问 React 对象?

    我有一个 ReactVr 对象 我用下面的代码渲染它 React 初始化后 我会定期接收服务器更新 我想将其作为 props 传递到 React 中 我该怎么做 React 对象中的 props 可以从我的 普通 JS 设置吗 ReactV
  • 退出无限循环? [复制]

    这个问题在这里已经有答案了 当我输入非整数时 我会进入无限循环 我如何解决它 这是我的代码 def inputInt integer while True try result int integer except ValueError p
  • 将 Java 8 与 LibGDX 结合使用

    我正在使用 LibGDX 用 Ja va 编写一个游戏 仅desktop作为目标平台 我刚刚创建了一个新的 LibGDX 项目 并向其中导入了一些现有代码 但现在出现了一些错误 具体来说 使用diamond operator 例如这行代码
  • 设置 pandas 图的图例位置

    我知道如何设置 matplotlib 图的图例位置plt legend loc lower left 但是 我正在用 pandas 方法进行绘图df plot 并需要将图例位置设置为 左下 有谁知道该怎么做 编辑 我实际上正在寻找一种通过
  • 我们如何在 Ionic App 中实现 SignalR?

    我制作了一个应用程序 可以向已注册该应用程序 Ionic Angular 的用户发送消息 它从数据库 SQL Server C API 获取所有消息并在消息框中打印出来 这很好 但是当我们向正在交谈的人发送消息时 该人在不刷新页面的情况下不
  • 在 Rails 中,如何在 i18n 语言环境文件中指定默认 flash 消息

    我知道 i18n 语言环境文件中有一些预设结构 以便 Rails 自动提取值 例如 如果您想为新记录设置默认提交按钮文本 config locales en yml en helpers submit create Create model
  • MySQL表可以存储的最大记录数是多少?

    MySQL MyISAM 表可以存储多少条记录 InnoDB可以有多少个 您无法按记录数进行计数 因为您的表可能包含只有几个 int 字段的非常短的记录 或者您的记录可能非常长且包含数百个字段 因此必须以表的文件大小来衡量 对于 MYSQL
  • 由不同操作成功触发的 Github Action

    我试图在成功运行不同的操作后触发 Github 操作来运行 这两个工作流程是 单元测试操作 首先运行 并且应该触发下面的 后续测试 操作 name unit tests on push branches jobs build runs on
  • 我正在用 microsoft Visual Studio 做我的 C++ 作业,我注意到一些不寻常的事情 [重复]

    这个问题在这里已经有答案了 当我尝试获取动态数组中插槽的数据时 出现异常 但是如果我使用不同的编译器 例如在线编译器 运行相同的代码 https www onlinegdb com online c compiler https www o
  • 如何绘制 z = f(x, y) 的平滑二维彩色图

    我正在尝试绘制二维现场数据使用 matplotlib 所以基本上我想要类似的东西 在我的实际情况中 我将数据存储在硬盘驱动器上的文件中 然而 为了简单起见 请考虑函数 z f x y 我想要一个平滑的二维图 其中 z 使用颜色可视化 我使用
  • 如何使用 JQuery 和跨站点脚本编写 ajax?

    我遇到一个问题 我必须从这里获取 json http templodasdeusas com br game srv game php srv home http templodasdeusas com br game srv game p
  • 使用属性 XmlSerialize 自定义集合

    我有一个简单的类 它继承自 Collection 并添加了几个属性 我需要将此类序列化为 XML 但 XMLSerializer 会忽略我的附加属性 我认为这是因为 XMLSerializer 对 ICollection 和 IEnumer
  • 在 C++ 中打印完整的回溯

    我想以与 gdb 中类似的格式从 Linux 中的 C 程序转储回溯 我尝试使用 backtrace 和 backtrace symbols 函数来实现此目的 这些返回的函数名称和偏移量 我可以使用 cxa demangle 函数来获取可读