您查找段错误原因的方法是什么?

2023-12-09

或者只是一般性地调试,您喜欢如何查找代码中的错误。专门针对 C/C++,但适用于所有语言。我一直在试图找到这个令人讨厌的段错误的原因,但我希望自己能找到它,而不是将其发布到网上。您对像我这样的学徒有什么建议吗?


使用 gdb 等调试器并在出现 seg 错误时打印回跟踪。它将显示崩溃的行号和文件。以此为起点。

为了更进一步,您可以重复该过程,以确保这不是由于之前其他地方的错误而发生的随机错误,而是该行号的特定问题。

For 静态代码分析您可以使用诸如klockworks 或 lint这会显示您的代码中可能存在的问题。

For 动态分析,使用诸如memwatch它将在运行时监视您的内存分配。

我没有指出 valgrind,因为其他人已经提到过它,并且毫无疑问是一个很棒的工具。

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

您查找段错误原因的方法是什么? 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 在 C++ 中使用 matlab 结构(matlab 函数调用的返回值)(由 matlab 编译器生成的库)

    你好 我有一个相当简单的 matlab 函数 例如 function MYSTRUCT myfunc MYSTRUCT prop1 test MYSTRUCT prop2 foo MYSTRUCT prop3 42 end 我用 matla
  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何在非控制台应用程序中查看 cout 输出?

    输出到调试窗口似乎相当繁琐 我在哪里可以找到cout如果我正在编写非控制台信息 则输出 Like double i a b cout lt lt b lt lt endl I want to check out whether b is z
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • Django check_password() 总是返回 False

    我有一个与 NodeJs 应用程序一起使用的现有数据库 现在相同的数据库将用于使用 Django 构建的新应用程序 我有一个 user account 表 用于存储用户登录凭据以及密码加密bcrypt模块已被使用 密码存储在字段 user
  • 使用 adb shell am start 启动 Android 应用程序时出现错误“活动类不存在”

    After adb install ing 我的应用程序 我可以验证它是否存在adb shell pm list packages AppName 包 air com client AppName So I know它就在那里 但是当我尝试
  • Python Ctypes - 加载 dll 抛出 OSError: [WinError 193] %1 不是有效的 Win32 应用程序

    我尝试运行一个 python 代码示例 该代码使用 ctypes 从库中获取函数 例子可以找到here 我按照说明进行操作 除了一处小的修改之外 我使用了完全相同的代码 我一直在尝试在 Windows 10 64 位 python 3 7
  • 无法创建物理体 - Swift

    我有一个名为 ChainsawMaker swift 的 Swift 文件 我想用它在整个游戏中创建链锯 当我调用此实例并将其添加到我的游戏中时 电锯及其物理主体会完美地添加到游戏中 除了控制台中弹出的错误 物理主体 无法创建物理主体 以下
  • Python Selenium().text 返回“–”而不是撇号(')

    我正在尝试收集有关 Seeking Alpha 的评论 例如 https seekingalpha com article 4243835 teslas low 2019 capex harm growth story brand valu
  • Oracle - 创建更新另一个表的触发器时出现问题

    我已阅读有关创建触发器的 Oracle 文档 并且正在按照其显示的方式执行操作 但这不起作用 我的目标是使用 TPM TRAININGPLAN 表中出现的最小 STARTDATE 更新 TPM PROJECT 表 因此 每次有人更新 TPM
  • Active Directory 是否不支持使用 PKCE 的授权代码流?

    我尝试使用当前推荐的授权代码流与 PKCE 来从 Active Directory 收集访问令牌 客户端将是一个公共 Angular SPA 这就是选择流程的原因 收集 AD 中的 openid 配置以及用户的授权代码效果很好 但我无法从以
  • 使用星号制作 ASCII 沙漏

    我知道有人问过这个问题 但我很难理解其他程序和嵌套循环 如果有人有遵循嵌套循环并制作带有星号的形状的技巧 我想知道 因为这真的让我感到困惑 这是我经过多次尝试和实验后编写的代码 Scanner input new Scanner Syste
  • Highcharts x 轴标签文本换行在设置标签步骤时丢失

    我在 X 轴上的 Highcharts 标签包装上遇到问题 设置时丢失 标签步骤属性 如下面的链接所示 正确的 http jsfiddle net Bimal 45Lp3 错误 http jsfiddle net ahwmv functio
  • 如何使用代码在Python中删除Mayavi工具栏

    我有几个 Mayavi 图 我将它们组合在一个窗口中 沿着文档 如果我能去掉所有工具栏就更好了 虽然可以右键单击每个工具栏以使它们消失 但我想对它们进行编码以使其消失 像这样的命令scene hide toolbar 将是理想的 我在 Tr
  • 使用 SetWindowPlacement 更改窗口的恢复位置并不适用于每个窗口

    我正在使用SetWindowPlacement函数可以 1 最大化和 2 更改外部窗口在桌面上的还原位置 但是当我在WinForm窗口上使用这个命令时 它似乎没有正确设置恢复位置 我正在测试的 WinForm 窗口只是一个无需修改即可运行的
  • 在 Google Chrome 扩展程序中显示 YouTube 视频

    我想将 YouTube 播放器嵌入到页面上并将其显示给用户 如果使用前台弹出窗口来承载播放器 那么当弹出窗口失去焦点时 播放器将被销毁 因为整个弹出窗口都被删除 我希望使用 webKitNotifications createHTMLNot
  • Android 日历视图日期颜色

    我有一个日期列表 我想在 calendarview 上将其涂成红色 我能怎么做 我的活动 public class Calendario extends Activity RelativeLayout rl final Calendar c
  • 将多个字符串写入文件而不删除浏览器的第一个 ANDROID 收藏夹

    我正在为学校制作一个简单的浏览器 并且我正在努力制作收藏夹 此处的代码将收藏夹添加到文件中 这样我可以在应用程序关闭后保留它 并将其显示在 TextView 中 我的问题是它只能保存一个 如果我添加第二个 第一个将被替换 我想我可以将它们添
  • MIPS 中括号的作用是什么?

    我一直在阅读一本介绍 MIPS 的项目书 但遇到了一个问题 书中的一行代码是lb t3 t2 我不知道括号的作用 因为在此之前 我还没有看到它们被使用过 而且本书一开始就没有提到它们 为什么代码不只是lb t3 t2 MIPS 寻址模式语法
  • Scala 中的动态 mixin - 可能吗?

    我想要实现的是正确实施 def dynamix A B a A A with B 我可能知道 B 是什么 但不知道 A 是什么 但如果 B 有 self 类型 那么我可以对 A 添加一些约束 scala 编译器对上述签名很满意 但我还无法弄
  • 如何在 linq 中获取随机行,最后插入的行位于顶部

    我试图针对每个请求显示随机产品 this OrderBy r gt Guid NewGuid 工作正常 但我试图在表记录很大时提高性能 所以我使用了第二个选项here 我的行动 public ActionResult ProductType
  • ES6 和 Promise 内的变量作用域

    不知道我在这里缺少什么 我需要得到的输出data into this contact 现在 我正在使用静态类变量 但必须这样做似乎很脏 export class contactEdit static t static class var c
  • 如何使用多处理在 for 循环中并行化对同一函数(具有不同参数)的两次调用?

    在 for 循环中 我使用不同的参数集调用一个函数两次 argSet1 argSet2 在 for 循环的每次迭代中都会发生变化 我想并行化此操作 因为一组参数会导致被调用的函数运行得更快 而另一组参数会导致函数运行缓慢 请注意 我do n
  • 您查找段错误原因的方法是什么?

    或者只是一般性地调试 您喜欢如何查找代码中的错误 专门针对 C C 但适用于所有语言 我一直在试图找到这个令人讨厌的段错误的原因 但我希望自己能找到它 而不是将其发布到网上 您对像我这样的学徒有什么建议吗 使用 gdb 等调试器并在出现 s