随笔分类 -  调试

上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页

关于bug调试工具的使用/方法/经验
Dump文件数据存储格式(七)
摘要:九、模块列表流(ModuleListStream) ModuleListStream流包含进程已加载模块信息。它紧跟随在ThreadInfoListStream后面。ThreadInfoListStream信息如下: 0x15f4+0n5068=0x29c0 而ModuleListStream如下 阅读全文

posted @ 2020-11-02 07:59 活着的虫子 阅读(408) 评论(0) 推荐(0) 编辑

记一次System.IO.DirectoryNotFoundException异常的排查
该文被密码保护。

posted @ 2020-10-30 07:48 活着的虫子 阅读(0) 评论(0) 推荐(0) 编辑

为什么".loadby sos clrjit"在有的dmp文件执行成功,在另外的dmp文件执行不成功?
摘要:在日常分析dmp文件工作中,我发现用".loadby sos clrjit"指令来加载sos扩展库在有的dmp文件成功有的不成功,都是报如下错误: 0:036> .loadby sos clrjitThe call to LoadLibrary(sos.dll) failed, Win32 erro 阅读全文

posted @ 2020-10-29 08:00 活着的虫子 阅读(281) 评论(0) 推荐(0) 编辑

Dump文件数据存储格式(六)
摘要:八、线程信息列表流(ThreadInfoListStream) ThreadInfoListStream包含了线程状态信息,在ThreadListStream的后面就是ThreadInfoListStream了。 ThreadListStream如下: 0x720+0n3796=0x15F4 而Th 阅读全文

posted @ 2020-10-28 07:48 活着的虫子 阅读(300) 评论(0) 推荐(0) 编辑

关于异常System.IO.DirectoryNotFoundException
摘要:什么是System.IO.DirectoryNotFoundException 找不到文件或目录的部件时引发的异常。 继承关系 Object Exception SystemException IOException DirectoryNotFoundException 例子 using Syste 阅读全文

posted @ 2020-10-27 08:20 活着的虫子 阅读(3895) 评论(0) 推荐(0) 编辑

Dump文件数据存储格式(五)
摘要:七、线程列表流(ThreadListStream) ThreadListStream流包含线程核心信息。它紧挨着异常信息流(ExceptionStream)。 异常信息流如下 0x678+0n168=0x720。而线程列表流如下 可知偏移是0x720,即证明杂项信息流是紧挨着系统信息流,大小有379 阅读全文

posted @ 2020-10-26 08:25 活着的虫子 阅读(380) 评论(0) 推荐(0) 编辑

Dump文件数据存储格式(四)
摘要:六、异常信息流(ExceptionStream) 异常信息流包含异常信息。包括发生异常的线程、异常记录信息、线程上下文等信息。它紧挨着杂项信息流(MiscInfoStream)后面。 MiscInfoStream信息如下: 0x124+0n1365=0x678 我们看看ExceptionStream 阅读全文

posted @ 2020-10-23 08:07 活着的虫子 阅读(466) 评论(0) 推荐(0) 编辑

使用进程内存转储轻松解决事件查看器错误
摘要:今天我将写一篇关于我如何使用SOS.Net框架调试扩展(和!analyze-v)以轻松解决.NETFramework异常。此异常阻止事件查看器正确显示。事件查看器返回了一个错误,该错误提供了有关导致该问题的实际原因的很少信息。在本例中,我将演示如何使用windbg来获取有关出错的信息。我不必对此问题 阅读全文

posted @ 2020-10-22 07:51 活着的虫子 阅读(1400) 评论(0) 推荐(1) 编辑

使用Microsoft Windows调试工具连接到远程存根(Remote Stub)的远程调试
摘要:Microsoft调试工具for Windows提供了两种创建远程调试连接的方法,包括“连接到远程会话”和“连接到远程存根”。连接到远程会话是这两个会话中最常用的,也是您通常需要的全部内容,但是它不允许客户端访问远程上缺少的调试符号。通常,远程调试会话将在所有用户都可以访问符号信息的公司网络中完成, 阅读全文

posted @ 2020-10-21 07:44 活着的虫子 阅读(660) 评论(0) 推荐(0) 编辑

Dump文件数据存储格式(三)
摘要:五、杂项信息流(MiscInfoStream) 在系统信息流后紧挨着的就是杂项信息流。而系统信息流信息如下 0xEC+0n56=0x124 而杂项信息流如下: 可知偏移是0x124,即证明杂项信息流是紧挨着系统信息流,大小有1364字节。 MiscInfoStream包含各种信息。数据结构如下: t 阅读全文

posted @ 2020-10-20 08:01 活着的虫子 阅读(508) 评论(0) 推荐(0) 编辑

Dump文件数据存储格式(二)
摘要:四、系统信息流 流目录后面紧接着就是流数据了。第一个流数据就是系统信息流。 可知,这个流的起始于文件偏移0xEC,大小是0x38,也就是56个字节。 从上图可知,系统信息流就是紧挨着流目录尾部。这个流包含了如下操作系统和处理器信息:处理器架构、级别、版本,CPU信息等。数据结构如下: typedef 阅读全文

posted @ 2020-10-19 08:01 活着的虫子 阅读(589) 评论(0) 推荐(0) 编辑

调试优化x64代码的挑战
摘要:如果到目前为止您还没有机会调试优化的x64代码,请不要再等待太久,也不要落后于时代!由于类似x64 fastcall的调用约定加上大量的通用寄存器,在调用堆栈中的任意点查找变量值确实非常困难。在本文中,我想详细介绍一些我最喜欢的调试优化x64代码的技术。但是在深入研究这些技术之前,让我们先对x64调 阅读全文

posted @ 2020-10-16 08:11 活着的虫子 阅读(396) 评论(0) 推荐(0) 编辑

.Net中的异常处理:高级异常
摘要:这种处理的有效性主要取决于所选择的语言和平台,因此,详细了解它们的正确用法和行为非常重要,这样我们的用户和其他开发人员在诊断代码中的问题时免受痛苦。在本文中,我们将了解C和.NET在错误处理方面的作用。 词汇表CLR:公共语言运行时的缩写,是.NET运行时,它负责执行用所有.NET语言编译的应用程序 阅读全文

posted @ 2020-10-14 08:54 活着的虫子 阅读(730) 评论(0) 推荐(0) 编辑

!address -summary报错"The current target does not provide full memory information. No meaningful summary available. "
摘要:今天分析一个dmp文件时,想看下内存的使用情况,于是执行!address -summary,结果却有如下输出: 0:000> !address -summaryThe current target does not provide full memory information. No meanin 阅读全文

posted @ 2020-10-13 08:06 活着的虫子 阅读(415) 评论(0) 推荐(0) 编辑

转储或实时系统的远程(内核或用户模式)调试
摘要:在某些情况下,我们会执行实时调试以确定服务器故障的根本原因。在内存转储的情况下,文件通常非常大,因此通过网络复制文件,即使是在最快的广域网连接上,也可能需要很长时间。解决方案是远程调试。 你应该怎么做? 首先,需要两个人:一个是远程人员,另一个是通过使用安装在他们机器上的调试器调试进程来帮助远程用户 阅读全文

posted @ 2020-10-12 08:17 活着的虫子 阅读(193) 评论(0) 推荐(0) 编辑

如何从内核调试器访问用户模式调试器
摘要:在某些情况下,您可能希望使用用户模式调试器从内核调试器中调试进程。它可能是你有一个加载内核模式驱动程序的应用程序,并且你希望能够调试应用程序的用户模式方面,然后进入内核以跟踪对内核的调用。 这是你需要做的! 通过串行电缆(调制解调器电缆)、USB电缆或FireWire电缆连接内核调试器,并将您的计算 阅读全文

posted @ 2020-10-10 07:57 活着的虫子 阅读(249) 评论(0) 推荐(0) 编辑

跟踪多进程死锁
摘要:我最近处理的一个棘手的死锁问题开始。让我先解释一下表面症状,然后我们就可以找到好东西了。当运行Vista的用户尝试启动internetexplorer时,任何事情都不会发生。所以他们再次双击图标,还是什么也没发生。所以用户会重新启动并返回他们的网络活动。经过一些基本的故障排除后发现Iexplore. 阅读全文

posted @ 2020-10-09 08:47 活着的虫子 阅读(574) 评论(0) 推荐(0) 编辑

DLL注入工作原理
摘要:简介 我最近研究了一个问题,Winlogon中两个线程的交互导致错误检查。一个线程是初始化GDI的Winlogon线程。这个场景的有趣之处在于另一个线程是如何在这个进程中结束的。 线程在干什么? 下面是线程堆栈的用户一半。线程试图加载DLL ChildEBP RetAddr Args to Chil 阅读全文

posted @ 2020-10-08 08:36 活着的虫子 阅读(814) 评论(0) 推荐(0) 编辑

设计完美断点
摘要:说到现场调试,断点是最重要的。通常,在生产环境中解决一个非常复杂的问题需要在本地、非生产环境中调试我自己的一台测试机器。我通常会调试有问题的进程或代码,以便更好地了解它是如何工作的,以及在我进入时需要收集哪些数据。这通常涉及一些逆向工程,并对相关流程或模块进行代码审查。我们总是希望在进行实时调试时尽 阅读全文

posted @ 2020-10-07 08:25 活着的虫子 阅读(248) 评论(0) 推荐(0) 编辑

Windbg提示:KN、.Frame、DV和DT-这很简单
摘要:我们很多人都认为调试器中的一些简单命令是理所当然的,这些命令可以让生活变得轻松。我想了几个特别能搭配的。第一个命令是kn。Kn将显示当前调用堆栈,并在单个调用的最左边包含堆栈帧编号。我在Windbg中运行BadWindow.EXE文件,通过~0s将我的线程设置为线程0。然后我只需键入kn。这将转储调 阅读全文

posted @ 2020-10-06 08:39 活着的虫子 阅读(745) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 32 下一页

导航