定位问题3:明明堆栈已经打印出来了,偏就是定位不出来?

news/2025/10/21 19:36:41/文章来源:https://www.cnblogs.com/wu-zixu/p/19156263

堆栈如下,明明是在AAA::B函数里core了,而且是概率core的,可就是定位不出来

B函数很简单

1. 第一句打印入参

2. 其它都是函数调用

3. 打印退出消息

对于1 ,参数如下,不可能为nullptr,也排查了调用处(仅2处),不存在问题

const string& state, const string& reason, const string& screen, const string& reason_phase

对于2,如果是其它调用的问题,堆栈应该更深才对

对于3. 比1打印的还少,而且没参数,更不会有问题

尝试将1中的入参进一步做了校验,问题仍存在

 

后在与同事讨论中发现,呃,问题太明显了,如下

DDD* pDesktop = getDesktop(msg->msg_sender_);
        if (pDesktop == nullptr){
            VX_WARN("get desktop nullptr %s",msg->msg_sender_.c_str());  --------------------------------这一句有打印
        }
        pDesktop->B(state, reason, screen, reason_phase);
        这不就说明此时,pDesktop是nullptr吗?--------------肯定是指针悬空了啊
 
总结:
  1. 对于堆栈的理解还是有偏差
  2. 对于难于定位的问题,不妨将范围稍放大一点看一下
 

Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00000000004f72cc in AAA::B(std::string const&, std::string const&, std::string const&, std::string const&) ()
[Current thread is 1 (Thread 0x7fbc1e3010 (LWP 562))]
(gdb) bt
#0 0x00000000004f72cc in AAA::A(std::string const&, std::string const&, std::string const&, std::string const&) ()
#1 0x00000000004dd450 in BBB::processRemoteMsg(RecvMessage*) ()
#2 0x00000000004e0048 in ScrollWidget::onRecvMsg(RecvMessage*) ()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/942601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 统一机制处理 - 拦截器与适配器

Spring 统一机制处理 - 拦截器与适配器pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

鸿蒙hdc命令【杭州多测师】

1、查看版本hdc -v2、查看连接设备hdc list targets3、安装应用hdc app install .\phone-launcher-default-signed.hap// 覆盖安装hdc app install -r .\phone-launcher-default-signed.hap// 安装、更新,多HAP可以指…

电脑黑屏只剩鼠标-解决方案 - 教程

电脑黑屏只剩鼠标-解决方案 - 教程2025-10-21 19:26 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !impo…

如何将海量纸质表格一键数字化?表格识别技术给出答案

在当今的智能办公时代,海量的信息仍被困在纸质文档或僵化的电子图片中,其中,结构复杂、数据密集的表格是信息数字化的主要瓶颈之一。表格识别技术的崛起,正如同一位不知疲倦的“数据捕手”,精准地破解了这一难题,…

10.21 NOIP 模拟赛 T1. 小 h 学步

思路 最终答案为: [ ans = \sum_{i} \left( \left( \sum x_i \right)^2 + \left( \sum y_i \right)^2 + \left( \sum z_i \right)^2 \right) ] 其中对于同一个 ( i, x_i, y_i, z_i ) 互相关联。 将 ( x ) 部分的平方拆…

深入解析:【Linux】生产者消费者模型

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

湖南新建高速项目的“神经网络”是如何搭建的?——揭秘80公里高速的收费、通信、监控一体化系统

湖南新建高速项目的“神经网络”是如何搭建的?——揭秘80公里高速的收费、通信、监控一体化系统湖南省某条贯穿山区、串联景区的高速公路,不仅是交通主干道,更是区域协同发展和旅游经济助推器。全长约80公里,北起湘…

深入解析:大数据Spark(六十六):Transformation转换算子sample、sortBy和sortByKey

深入解析:大数据Spark(六十六):Transformation转换算子sample、sortBy和sortByKeypre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; …

完整教程:web前端团队开发code review方案最佳实践

完整教程:web前端团队开发code review方案最佳实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

实用指南:免费html网页模板 html5网站模板 静态网页模板

实用指南:免费html网页模板 html5网站模板 静态网页模板pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

最大值的不同统计方法

题目:CF2154B 2154B 题目中有这样一句话: 操作1: 选择一个整数 i 并执行 : 用最大值为 i的前缀替换 $ a_i $ 。 $$ \sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6} $$

加密货币如何改变金融诈骗的游戏规则

本文深入分析加密货币如何被诈骗分子利用实施新型金融犯罪,揭露了包括虚假赠品网站、匿名钱包洗钱、AI深度伪造等最新诈骗手法,并提供了5种实用防护策略保护个人资产安全。加密货币如何改变金融诈骗的游戏规则 加密货…

leetcode448. 找到所有数组中消失的数字

leetcode448. 找到所有数组中消失的数字448. 找到所有数组中消失的数字我的解法:额外数组class Solution {public List<Integer> findDisappearedNumbers(int[] nums) {int n = nums.length;boolean[] flag = n…

远程服务器显示pyQt界面

远程服务器显示pyQt界面1 vscode+mobaxterm实现服务器图形显示 在服务器上跑深度学习任务是有时候会需要可视化图片,但是服务器一般没有图形显示的功能: $ xclock Error: Cant open display: 可以通过 vscode+mobaxt…

揭开 C++ vector 底层面纱:从三指针模型到手写完整实现 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

java的字符和字符串

这是一个非常基础且重要的概念,用一个简单的比喻就很容易理解:字符 (Character): 就像一个“字母”或一个“汉字”。 字符串 (String): 就像一个“单词”或“一句话”。1. 字符 (Character)概念: 它是文本的最小、…

python_日志记录-loguru

日志记录-loguru1 使用 loguru 安装 pip install loguru如何使用 from loguru import loggerlogger.debug("This is a debug message") logger.info("This is an info message") logger.warning(&…

软工第三次作业--结对作业

廖永祺 谭钧灏 3123004628 GitHub项目地址:这个作业属于哪个课程 <班级的链接>这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13470这个作业的目标 熟悉小组…

原来用聊天记录就可以创造数字分身!WeClone项目在Lab4AI平台上的复现

通过给大模型喂我们的聊天记录,就可打造出我们的数字分身,当前爆火的Weclone项目采取的就是这种做法。01 | WeClone 如何创造数字分身 拥有一个数字分身可能是很多人的一个愿望。其实通过给大模型喂我们的聊天记录,…

Day1HTML的基本骨架

在vscode中,若是在.html后缀的文件可用快捷键帮助生成骨架,即按!的同时按住回车键或tab键 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta n…