摘要: [如何开启WinDbg本机调试问题] (https://www.cnblogs.com/huangxincheng/articles/17864581.html) [调试托管代码无行号问题] (https://www.cnblogs.com/huangxincheng/articles/178645 阅读全文
posted @ 2023-11-29 16:00 一线码农 阅读(3035) 评论(0) 推荐(5)
摘要: 一:背景 1. 讲故事 前几天训练营里的一位朋友在复习课件的时候,程序一跑就报错,截图如下: 从给出的错误信息看大概是因为json格式无效导致的,在早期的训练营里曾经也有一例这样的报错,最后定位下来是公司的电脑安全软件导致的,一旦有非托管调试器,安全软件就会加密 runtimeconfig.json 阅读全文
posted @ 2025-05-14 13:54 一线码农 阅读(972) 评论(0) 推荐(7)
摘要: 一:背景 1. 讲故事 这个问题源于给训练营里的一位朋友分析的卡死dump,在分析期间我需要知道某一个异步方法的调用栈,但程序是 .framework 4.8 ,没有sos后续版本独有的 !dumpasync 命令,所以这就比较搞了,但转念一想,既然 !dumpasync 能把调用栈搞出来,按理说我 阅读全文
posted @ 2025-05-11 18:30 一线码农 阅读(936) 评论(0) 推荐(12)
摘要: 一:背景 1. 讲故事 昨天在分析一个 linux 的 dump 时,看到了这么一话警告,参考如下: 0:000> !eeheap -gc *** WARNING: Unable to verify timestamp for SYSV10cf21d1 (deleted) 对,就是上面的 SYSV1 阅读全文
posted @ 2025-05-10 11:01 一线码农 阅读(163) 评论(0) 推荐(1)
摘要: 一:背景 1. 讲故事 如何跟踪.NET程序的mmap泄露,这个问题困扰了我差不多一年的时间,即使在官方的github库中也找不到切实可行的方案,更多海外大佬只是推荐valgrind这款工具,但这款工具底层原理是利用模拟器,它的地址都是虚拟出来的,你无法对valgrind 监控的程序抓dump,并且 阅读全文
posted @ 2025-05-07 12:12 一线码农 阅读(846) 评论(1) 推荐(9)
摘要: 一:背景 1. 讲故事 前段时间有位朋友加我微信,来了就要进我的训练营,并且附带着纠结了他几个月的一个疑难杂症,让我帮忙看下怎么回事,问题描述截图如下: 由于这个定时任务是 furion 写的,刚好这位学员是VIP客户,找了小僧大佬,大佬需要最小化的问题代码,由于不能本地复现,也就没下文了,毕竟也是 阅读全文
posted @ 2025-04-23 09:58 一线码农 阅读(723) 评论(0) 推荐(7)
摘要: 一:背景 1. 讲故事 年初有位朋友找到我,说他们的管理系统不响应了,让我帮忙看下到底咋回事? 手上也有dump,那就来分析吧。 二:为什么没有响应 1. 线程池队列有积压吗? 朋友的系统是一个web系统,那web系统的无响应我们首先要关注的就是 线程池,使用 !sos tpq 命令,参考输出如下: 阅读全文
posted @ 2025-04-21 12:39 一线码农 阅读(2355) 评论(5) 推荐(12)
摘要: 一:背景 1. 讲故事 年前有位朋友找到我,说他们的程序会偶发性卡慢 10s 钟,在某些组合下会正常,某些组合下就会出现问题,解释不了其中的原因,让我帮忙看下怎么回事?截图如下: private void TestRun() { int encposUpy = 0; Logger Log = new 阅读全文
posted @ 2025-04-14 11:33 一线码农 阅读(1475) 评论(7) 推荐(10)
摘要: 一:背景 1. 讲故事 年前有位朋友找到我,说他们的系统会偶发性的CPU爆高,有时候是爆高几十秒,有时候高达一分多钟,自己有一点分析基础,但还是没找到原因,让我帮忙看下怎么回事? 二:CPU爆高分析 1. CPU 真的爆高吗 还是那句话,一定要相信数据,不要被别人带偏,使用 !tp 和 !cpuid 阅读全文
posted @ 2025-04-11 12:02 一线码农 阅读(1006) 评论(5) 推荐(7)
摘要: 一:背景 1. 讲故事 前面跟大家分享过一篇 C# 调用 C代码引发非托管内存泄露 的文章,这是一个故意引发的正向泄露,这一篇我们从逆向的角度去洞察引发泄露的祸根代码,这东西如果在 windows 上还是很好处理的,很多人知道开启一个 ust 即可,让操作系统帮忙介入,在linux上就相对复杂一点了 阅读全文
posted @ 2025-03-07 11:10 一线码农 阅读(777) 评论(0) 推荐(7)
摘要: 一:背景 1. 讲故事 上一篇我们聊过 C# 调用 C 的 malloc 代码来演示heap的内存泄露问题,但要想深入研究得必须把 malloc 的实现库 libc.so 给调试起来,大家都知道在Linux 上 libc 和 Windows 的 Win32 API 是一个层级的,由于 Linux 重 阅读全文
posted @ 2025-03-04 14:45 一线码农 阅读(985) 评论(3) 推荐(4)
摘要: 一:背景 1. 讲故事 好久没写文章了,还是来写一点吧,今年准备多写一点 Linux平台上的东西,这篇从 C# 调用 C 这个例子开始。在 windows 平台上,我们常常在 C++ 代码中用 extern "C" 导出 C风格 的函数,然后在 C# 中用 DllImport 的方式引入,那在 Li 阅读全文
posted @ 2025-03-03 14:07 一线码农 阅读(1440) 评论(11) 推荐(7)
摘要: 一:背景 1. 讲故事 高级调试训练营里的一位朋友找到我,说他们跑在linux上的.NET程序出现了内存泄露的情况,上windbg观察发现内存都是IMAGE给吃掉了,那些image都标记了 doublemapper__deleted_ 字样,问我为啥会这样?说实话作为我们这些调试者非常喜欢和这样的人 阅读全文
posted @ 2025-01-20 13:51 一线码农 阅读(1026) 评论(0) 推荐(9)
摘要: 一:背景 1. 讲故事 今年以来不知道为啥总有些朋友加我微信,让我帮忙分析下操作系统蓝屏问题,我也觉得挺好奇的,就问了其中一位朋友,说是B站来的,我就在拼命回忆,为啥会找我分析蓝屏?突然想到了去年好像录了一集关于 CrowdStrike 的热点事件。。。我本来是做.NET程序的故障分析,这操作系统的 阅读全文
posted @ 2025-01-19 14:16 一线码农 阅读(1719) 评论(5) 推荐(25)
摘要: 一:背景 1. 讲故事 写这篇文章起源于训练营里一位朋友最近在微信聊到他对这个问题使用了一种非常切实可行,简单粗暴的方式,并且也成功解决了公司里几个这样的卡死dump,如今在公司已是灵魂级人物,让我也尝到了什么叫反哺!对,这个东西叫 Harmony, github网址: https://github 阅读全文
posted @ 2025-01-13 12:11 一线码农 阅读(3353) 评论(3) 推荐(14)
摘要: 一:背景 1. 讲故事 最近聊了不少和异步相关的话题,有点疲倦了,今天再写最后一篇作为近期这类话题的一个封笔吧,下篇继续写我熟悉的 生产故障 系列,突然亲切感油然而生,哈哈,免费给别人看程序故障,是一种积阴德阳善的事情,欲知前世因,今生受者是。欲知来世果,今生做者是。 在任务延续方面,我个人的总结就 阅读全文
posted @ 2025-01-09 14:55 一线码农 阅读(2259) 评论(7) 推荐(15)
OSZAR »