使用GDB运行时致命错误消失

2024-01-02

我有一个程序,它在测试用例中产生致命错误,我可以通过读取致命错误的日志和堆栈跟踪来定位问题。原来是对空指针进行了读操作。

但是当我尝试将 GDB 附加到它并在可疑代码周围设置断点时,无法观察到空指针!程序运行顺利,没有任何错误。

这是一个单进程、单线程的程序,我以前没有经历过这种事情。为什么?

附加:我还尝试在致命触发代码之前调用pause()系统调用,并期望使程序在致命点之前休眠,然后动态附加GDB,遗憾的是,没有发生致命错误。


这只是不看代码的猜测,但调试器有时会这样做:

  • 他们为你初始化某些东西
  • 操作时间已更改

我没有关于 GDB 的报价,但我有关于 valgrind 的报价(假设这两个确实wildly不同的东西..)

我的程序正常崩溃,但在 Valgrind 下不会崩溃,反之亦然。发生了什么? http://valgrind.org/docs/manual/faq.html#faq.crashes

当程序在 Valgrind 下运行时, 它的环境略有不同 到它本地运行时。例如, 内存布局不同,并且 线程的调度方式是 不同的。

GDB 也是如此。

大多数时候这不会产生任何影响 差异,但它可以,特别是 如果你的程序有问题。

所以真正的问题可能出在你的程序中。

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

使用GDB运行时致命错误消失 的相关文章

  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • asp.net 文本框文本模式数字,仅允许数字

    我只是想知道 ASP NET 中是否有一种方法只允许文本框中的数字textmode number 当我使用这个时
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 即使手动设置显示环境变量后,WSL Ubuntu 也会显示“错误:无法打开显示”

    我在 WSL Ubuntu 上使用 g 我使用 git 克隆了 GLFW 存储库 使用了ccmake命令配置并生成二进制文件 然后使用make在 build 目录中最终创建 a文件 我安装了所有OpenGL相关的库 usr ld 我不记得我
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 将数据打印到文件

    我已经超载了 lt lt 运算符 使其写入文件并写入控制台 我已经为同一个函数创建了 8 个线程 并且我想输出 hello hi 如果我在无限循环中运行这个线程例程 文件中的o p是 hello hi hello hi hello hi e
  • C# 中条件编译符号的编译时检查(参见示例)?

    在 C C 中你可以这样做 define IN USE 1 define NOT IN USE 1 define USING system 1 system 1 IN USE 进而 define MY SYSTEM IN USE if US
  • 生产代码中的 LRU 实现

    我有一些 C 代码 需要使用 LRU 技术实现缓存替换 目前我知道两种实现LRU缓存替换的方法 每次访问缓存数据时使用时间戳 最后比较替换时的时间戳 使用缓存项的堆栈 如果最近访问过它们 则将它们移动到顶部 因此最后底部将包含 LRU 候选
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 为什么拆箱枚举会产生奇怪的结果?

    考虑以下 Object box 5 int int int box int 5 int nullableInt box as int nullableInt 5 StringComparison enum StringComparison
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 使用 C# 从 DateTime 获取日期

    愚蠢的问题 给定日期时间中的日期 我知道它是星期二 例如我如何知道它的 tue 2 和 mon 1 等 Thanks 您正在寻找星期几 http msdn microsoft com en us library system datetim
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触

随机推荐

  • 无法在 iPhone 上使用阿拉伯语键盘搜索波斯语文本

    我最近为iPhone开发了一本书 并在这个应用程序中实现了搜索功能 但在真正的 iPhone 上测试该应用程序后 我想知道它无法找到所有搜索词 在我的 Mac 上使用波斯语键盘 例如 它无法找到包含 字符的单词 因为搜索词包含从 iPhon
  • 在react-native-video中播放youtube视频

    我如何在react native video上播放youtube视频 我不想在react native youtube或webview中播放视频 我检查并使用的另一个选项是 WebView 要使用它 请确保将组件放入带有 Flex 的视图中
  • 编码 UTF8 C# 过程

    我有一个处理 vbscript 并生成输出的应用程序 private static string processVB string command string arguments Process Proc new Process Proc
  • 神经网络的显着图(使用 Keras)

    我有一个在 Keras 中训练的完全连接的多层感知器 我向它提供一个 N 维特征向量 它会预测输入向量的 M 个类别中的一个 训练和预测运行良好 现在我想分析输入特征向量的哪一部分实际上负责特定的类 例如 假设有两个类A and B 和一个
  • 按字母顺序对内容进行排序

    因此 我在 AJAX 调用之后附加以下内容 并且此 AJAX 调用可能会发生多次 并返回多个数据项 我正在尝试使用 Tinysort http plugins jquery com project TinySort http plugins
  • 如何在 Angular 4 中禁用 ngbDatepicker 中的前一个日期?

    我想禁用所有先前 过去的日期ngbDatepicker 我用过ngbDatepicker 我的 HTML 是
  • 如何在 INPUT 标签上不使用 ID 属性的情况下使用 LABEL 标签的 FOR 属性

    下面代码中所示的问题有解决方案吗 首先在浏览器中打开代码 直入主题 无需在了解您要查找的内容之前查看所有代码 h1 Input ID creates a bug h1 p In this example I make a list of c
  • Facebook 应用程序中不允许使用 HTTP 动词 POST 来访问路径“/”

    我正在尝试使用 4 2 1 C SDK 构建简单的 facebook 应用程序 但我有一个错误 The HTTP verb POST used to access path is not allowed Description An unh
  • C++初始化[重复]

    这个问题在这里已经有答案了 可能的重复 具有初始值的类构造 https stackoverflow com questions 7207884 class construction with initial values 当我在看 c 示例
  • WIA 2.0 复式房产

    我正在使用 C 开发一个应用程序以使用 WIA 2 0 库 目前我可以使用大部分功能 例如 ADF 自动文档进纸器 过滤器等等 现在 我需要使用扫描仪 富士通 的双面打印器 我正在尝试将 WIA DPS DOCUMENT HANDLING
  • Visual Studio 2019 测试资源管理器将所有测试置于“未运行测试”下

    我有一个ASP NET 核心 3项目与Visual Studio 专业版 19 4 1 with xUnit 2 4 0 我在那里写了几个测试 我的问题是 Visual Studio 始终在 未运行测试 下显示该项目中的所有测试 相同的测试
  • 如何在java中弯曲图像

    有什么办法可以弯曲BufferedImage在Java中 我认为如果我将图像裁剪成更小的部分并旋转它们 那么我基本上会弯曲图像 但它似乎不起作用 这是我创建的方法 This is a recursive method that will a
  • sqlite递归祖先查询

    我试图弄清楚如何对分层表使用递归查询 我需要获取给定记录的祖先 并且记录应按其在层次结构中的级别顺序排序 也就是说 第一条记录应该是顶级节点 下一条记录应该是子节点 然后是它的子节点 一直到正在查询的记录 考虑一个名为 食物 的表 其中包含
  • CSS vw 和 vh 但相对于父级而不是视口

    我正在尝试创建一个固定纵横比的框 调整大小以不溢出其父级 经典填充底部技巧 https stackoverflow com questions 1495407 maintain the aspect ratio of a div with
  • 显示字符串中不可打印的字符

    是否可以用十六进制值可视化 python 字符串中的不可打印字符 例如如果我有一个内部带有换行符的字符串 我想将其替换为 x0a 我知道有repr 这会给我 n 但我正在寻找十六进制版本 我不知道任何内置方法 但使用理解很容易做到 impo
  • 使用 AngularJS 将表单控件设置为焦点不变

    在我的表单中 我想在用户关注表单控件时将其设置为不受影响 以便隐藏在触摸字段且字段无效时显示的验证消息 我怎样才能做到这一点 我曾尝试编写指令但无法使其发挥作用 我可以在控制台中看到指令中的值从 true 更改为 false 但表单控件没有
  • 在 Xcode 6 beta 中使用尺寸类

    在 Xcode 6 Beta 1 中使用 Swift 从头开始 构建一个新项目 并查看 Storyboard 的文件检查器 有Use Size Classes below Use Auto Layout 这是这个的截图 1 什么是Use S
  • 某些 SMS 消息如何传输发件人姓名?

    我注意到我从公司收到的某些短信带有 发件人姓名 例如 就在今天 我收到了一条来自我以前从未使用过的号码 不是我的联系人 的短信 但发件人姓名显示为 Adobe 我也从其他公司得到这个 例如 Facebook Google 和银行 它与电子邮
  • 使用 jQuery Mobile 动态更改翻转切换的值

    我正在使用 jQuery Mobile 并将一些设置保存在 cookie 中 当设置页面重新加载时 我读取 cookie 以设置所有值 我在设置时遇到问题翻转拨动开关 http jquerymobile com demos 1 0a2 do
  • 使用GDB运行时致命错误消失

    我有一个程序 它在测试用例中产生致命错误 我可以通过读取致命错误的日志和堆栈跟踪来定位问题 原来是对空指针进行了读操作 但是当我尝试将 GDB 附加到它并在可疑代码周围设置断点时 无法观察到空指针 程序运行顺利 没有任何错误 这是一个单进程