关于crash:iOS-从没有转换符号的crash日志里精准定位错误代码

如何在没有符号的crash日志里定位错误代码,这的联合crash日志,和iDA能查看.首先咱们来剖析一下crash日志的构造1.首先看到图中的crash日志堆栈信息的0x102920000示意是mach-o的入口地址,+299612示意是mach-o里的偏移地址,转换成16进制为0x4925c 图一2.在ida中查看0x4925c的地址所在汇编代码:是main里的代码 图二这和复原符号之后的代码齐全吻合: 图三3.别急下面的crash代码只是一部分,咱们来还原真正的crash代码,last exception Backtrace ,咱们要找到堆栈信息里属于以后app的地址.@1.第一步确定MTSS_SDKTestDemo在内存中的地址范畴,crash日志下拉到Binary Images段,查看得悉地址范畴为0x102920000~0x102c57fff @2.找到last exception Backtrace中在0x102920000~0x102c57fff范畴的地址,计算出他们的偏移量0x1029682c8 - 0x102920000 -> 0x482C80x10297c3b4 - 0x102920000 -> 0x5C3B40x10297c09c - 0x102920000 -> 0x5C09C0x102977564 - 0x102920000 -> 0x57564 0x482C8在ida查看为,定位到为+[SignalCrashTest throwNil]办法中执行字典赋值导致的nil解体

June 14, 2022 · 1 min · jiezi

关于crash:故障分析-MySQL-slavecompressedprotocol-导致-crash

作者:胡呈清 爱可生 DBA 团队成员,善于故障剖析、性能优化,集体博客:https://www.jianshu.com/u/a95...,欢送探讨。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 景象MySQL版本:8.0.18 create.sql:zabbix 初始化脚本,蕴含建表、插入数据语句,10M+大小 一个新客户,部署了一套我司的数据库治理平台,接管进来一主两从实例,其中一主一从在无锡机房,为半同步复制,另一个从库在北京机房,为异步复制。当在主库上 source create.sql 时,会 crash。但没接管进平台前,不会呈现 crash。 阐明:这里提到的治理平台,不会影响了解整篇文章。 排查过程1. 在测试环境进行复现为不便排查,须要在可控的环境下进行复现: 与客户雷同的 my.cnf雷同的 MySQL 版本雷同的复制架构执行雷同的 create.sql的确能够稳固复现 crash,error log 如下: 2020-04-28T17:51:47.441886+08:00 0 [ERROR] [MY-013129] [Server] A message intended for a client cannot be sent there as no client-session is attached. Therefore, we're sending the information to the error-log instead: MY-001158 - Got an error reading communication packets 09:51:47 UTC - mysqld got signal 11 ; ...

December 28, 2021 · 4 min · jiezi