首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

记一次调试资源管理器未响应经验

这是硬件问题 触摸屏有两个模式,和显示器一样,一个是节能模式,一个是工作模式,进入节能模式需要收到触摸或其他硬件唤醒才进入工作模式 硬件小伙伴准备拿着 BusHound 去抓触摸屏发送消息,发现插入鼠标时点击桌面也没有打开...但是打上了补丁发现依然存在这个问题,于是接下来就是本文核心,进行调试 搜寻信息 信仰微软,不相信全球有这么多用户系统,会出现这样问题。...,需要关注一个第三方应用未响应只有堆栈和线程 因为老司机告诉,如果一个程序未响应,资源管理器看到 CPU 不动,那么原因就是程序等待。...等待原因可能是有两个线程相互等待,也有可能是等待另一个进程。这部分请看 dotnet 代码调试方法 通过 WinDbg 打开线程界面和堆栈界面,可以看到线程等待 ?...通过这个方法发现了资源管理器不是等待自己进程内线程,这和我上面说一样,有这么多用户系统稳当性是很重要 另一个小伙伴通过资源管理器拿到文件,通过文件可以使用 WinDbg 调试到对应内存对应变量和调用方法局部变量

1K20

10个用于C#.NET开发基本调试工具

但是,如果你附加到正在运行进程时,则已加载模块将保持优化状态。也就是说它们是 Release模式下构建。优化代码后,将不会遇到某些断点,也不会显示某些局部变量。这几乎破坏了调试体验。...此方法执行包括42%WPF调用,20%用户代码,12%GC等待,10% Collections代码,10%反射和5%系统代码。太好了吧?...ProcDump ProcDump是用于保存文件命令行工具。它可以立即或在触发器上生成。例如,崩溃或挂起时创建。这是推荐用于捕获工具。...WinDbg某些功能仍然是好。像它脚本功能一样,易于远程处理和方便生产调试。你可以将WinDbg复制到生产计算机上,并快速调查文件。它不需要像Visual Studio这样大型安装。...但是总是发现自己将文件复制到我开发机器上,并使用内存分析器或者Visual Studio打开它们。这样更加有效。因此,认为WinDbg不再是.NET开发所必需调试工具。

2.5K50
您找到你想要的搜索结果了吗?
是的
没有找到

系统学习Windows客户端开发

学习地图 书籍推荐 C++ Primer Windows核心编程 TCP/IP详解 卷1:协议 设计模式GoF版 编码规范 C++编码规范 C++语言 C++宏 C++11 用正则表达式查找提取替换字符串...高DPI适配 拖动非标题栏移动窗口坑 谁抢走窗口焦点 界面显示乱码,怎么破? 工作线程调用ActiveX接口,有哪些坑?...库使用 动态库和静态库 动态库与静态库区别 程序无法启动定位技巧 进程和线程 一个简单实用线程基类 独立子线程设计 多线程下互斥访问共享资源 自动解锁与提前解锁 C++11 async那些奇怪问题...网络 一个线程搞定TCP服务器 为什么使用TCP还要自实现心跳 内存管理 Windows栈区存储格式 内存泄漏检测工具DrMemory 崩溃分析 Windbg常用命令(崩溃分析篇) Windows...栈区存储格式 Windbg分析不完整堆栈 Windbg分析被捕获异常堆栈 崩溃分析之非法函数调用 崩溃文件收集 调试分析 远程调试 程序自动退出定位技巧 再谈程序自动退出定位技巧 调试子进程刚启动代码

2.9K30

渗透新思路 | 仿真环境下内存分析和模糊测试全记录

如果你了解并使用过这些工具库,那么你肯定非常熟悉内存和模糊测试相关内容。在这篇文章将跟大家分享一种仿真环境下内存分析和模糊测试方法。...这两款工具分别针对用户模式WinDbg中使用.dump /m)和内核模式WinDbg中使用.dump /f|/ka)。...Windows用户模式仿真 Windows上获取进程快照方法不止一种(如WinDbg、Task Manager、procdump、processhacker等),所以这部分打算直接跳过,并假设你已经准备好了快照...BochsCPU上模拟用户模式代码比内核模式稍微复杂一些:内核包括一个几乎完整操作系统快照,包括MMU正常工作所需所有内核部分,然而我们需要需要时将这些页面映射到Bochs。...Windows上用户模式不包括任何这些信息,而只包括与用户模式进程本身相关信息。

13610

volatility 各个选项详解

大分页池 (big page pools) bioskbd:从实施模式内存读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码) cachedump:获取内存缓存域账号密码哈希...mftparser:扫描并解析潜在MFT条目 moddump:内核驱动程序到可执行文件示例 modscan:内核模块池扫描 modules:打印加载模块列表...:将物理内存原生数据转换为windbg崩溃格式 screenshot:基于GDI Windows虚拟屏幕截图保存 servicediff:Windows服务列表 sessions...相关信息 userhandles:用户句柄表 vaddump:VAD数据为文件 vadinfo:VAD信息 vadtree:以树形式显示VAD树信息...vadwalk:显示遍历VAD树 vboxinfo:Virtualbox信息(虚拟机) verinfo:打印PE镜像版本信息 vmwareinfo:VMware VMSS

4.8K20

Windows crash debug环境构建

Windows 调试器(WinDbg)可用于调试内核模式用户模式代码,分析故障并在代码执行时检查 CPU 寄存器,适用蓝屏、异常重启、关机后,分析crash原因 Windbg官网链接: https...快捷安装方法: 腾讯软件中心搜索 windbg 下载安装包 https://pc.qq.com/search.html#!keyword=windbg Image.png 2....安装完成后,打开windbg(X64),点击 Open Crash Dump 选择需要分析dump文件 Image [7].png Image [8].png 2. 点击 !...根据关键字判断故障原因 DRIVER_IRQL_NOT_LESS_OR_EQUAL 代表一般是软件驱动导致故障 根据 MODULE_NAME 和 IMAGE_NAME 找到罪魁祸首是 termdd.sys...驱动文件 BUCKET_ID 字段显示当前故障所属特定故障类别 BUCKET_ID: X64_0xD1_termdd!

90730

内核漏洞利用:通过WARBIRDWindows 10上提升权限

重新启动靶机后,WinDBG中会打开内核调试会话,并且会在利用过程更容易地探索内核状态: ?...我们在这里找偏移4h(或KPCR开始124h)处找到,并且是对应于当前正在执行线程nt!_KTHREAD结构。我们可以使用下方命令这些信息: dt nt!...从内核返回 不幸是,处理内核漏洞利用时,如果不先确认操作系统是否处于安全状态,我们就不能让我们利用返回。...我们也知道,shellcode被调用地方,调用堆栈看起来像这样: ?...接下来,我们必须在没有任何异常情况下从NtQuerySystemInformation调用返回,尝试清理_WARBIRD_EXTENSION结构并取得了一些成功,且经历许多蓝屏之后,发现让内核恢复到正常状态最快方法是简单地遍历每个堆栈

1.5K80

Windbg来分析.Net程序dump

什么是Windbg WinDbg是微软发布一款相当优秀源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。...WinDbg是微软很重要诊断调试工具: 可以查看源代码、设置断点、查看变量, 查看调用堆栈及内存情况。 Dump文件是进程内存镜像, 可以把程序执行状态通过调试器保存到dump文件 2....任务管理器抓取 可在任务管理器进程右键进程,点击创建文件,系统会自动抓取和保存,保存完成会弹出对话框提示保存路径 ?...已经加载动态链接库。 .load/.unload 加载/卸载命令模块 **!模块名.help **查看某个扩展库包含扩展命令 4..Net程序相关命令 基本 !peb或!...analyze –v 显示分析详细信息 .reload /i /f 强制重新加载pdb 内存调试 **!eeheap –gc ** 获取gc内存信息 !

2.5K60

如何在Linux上获得错误段核心

步骤1:运行 valgrind 发现找出为什么程序出现段错误最简单方式是使用 valgrind:运行 1. valgrind -v your-program 这给了我一个故障时堆栈调用序列...当您程序出现段错误,Linux 内核有时会把一个核心写到磁盘。 当我最初试图获得一个核心时,很长一段时间非常沮丧,因为 – Linux 没有生成核心!核心在哪里?...我们仍然不知道该程序为什么会出现段错误! 下一步将使用 gdb 打开核心文件并获取堆栈调用序列。...从 gdb 得到堆栈调用序列 你可以像这样用 gdb 打开一个核心文件: 1. $ gdb -c my_core_file 接下来,我们想知道程序崩溃时堆栈是什么样。...试图找出程序崩溃原因时,堆栈跟踪行号非常有帮助。:) 查看每个线程堆栈 通过以下方式 gdb 获取每个线程调用栈!

3.9K20

浅析AndroidStudio3.0最新 Android Profiler分析器(cpu memory network 分析器)

长时间可以帮助识别内存泄漏。 正常和极端用户交互过程记录内存分配,以精确地确定您代码短时间内分配对象或分配被泄漏对象。...Arrange by callstack: 根据调用堆栈排序 2.4 捕获堆显示捕获堆时应用程序正在使用内存对象。...特别是扩展用户会话之后,堆可以通过显示仍然在内存对象来帮助识别内存泄漏。捕获堆后,可以查看以下内容: 您应用程序分配了哪些类型对象,以及每个对象数量。...每个对象使用多少内存 每个对象引用被保留在你代码调用堆栈,用于分配对象位置(只有在记录分配时捕获堆)。 ?...默认情况下,堆不会显示每个已分配对象堆栈跟踪。要获取堆栈跟踪,您必须在单击Java堆之前开始记录内存分配。

3K10

rp-bf:一款Windows下辅助进行ROP gadgets搜索Rust库

rp-bf是一款Windows下辅助进行ROP gadgets搜索Rust库,该工具可以通过模拟Windows用户模式崩溃来爆破枚举ROP gadgets。...我们可以直接使用Windows调试器生成快照,Windbg运行你目标,然后在所需状态下所需位置生成崩溃(.dump/ma)即可。...搜索算法 rp-bf能够遍历崩溃中找到所有内存区域,然后模拟器重新创建相同执行环境。接下来,它会调用用户pre条件,并持续执行,直到模拟器退出。...; // ... } } } 从用户模式Windows崩溃模拟代码 该工具所使用模拟器都使用了bochscpu库Bochs CPU模拟器。...为了Bochs重新创建执行环境,rp-bf将构建页面表以重新创建用户模式可用相同虚拟环境。

14310

服务器CPU居高不下--解决问题历程

工具准备 下载windbg文件 相关DLL准备clr.dll和sos.dll,(都在对应.Net版本安装目录下面,安装目录在C:\Windows\Microsoft.NET\Framework64...,每一个字符串都是一个对象,拼接后又产生了一个新对象,所以GetString这个方法中会有大量GC操作,下面我们就调用下这个代码,看下CPU情况,为了模拟并发情况,我们开多个标签,每个标签每1s秒刷新一次...抓取Dump 在任务管理器中选择应用程序池对应w3wp.exe,右击–>创建文件。创建完成后,会提示出指定路径 ? ? 根据上面的步骤,我们准备我们分析文件如下: ?...运行~22s (进入线程查看),kb(查看对应调用) ? 运行~* kb 查看所有线程堆栈调用 ?...clrstack查看堆栈调用,最终可以定位到出问题代码,是由于字符串拼接导致大量对象产生,从而触发了GC。 ?

90510

获取和分析Dump几种工具简介

Dump文件时进程内存镜像。可以把程序执行状态保存到Dump文件。Dump文件分为内核模式Dump和用户模式Dump。其中内核模式Dump是操作系统创建崩溃,例如蓝屏Dump。...而在我们调试或Troubleshooting过程中使用Dump是用户模式Dump,又分为Full Dump和Mini Dump。...2.WinDbg WinDbg也是微软公司用于软件开发调试工具,分析Dump文件领域受到广泛使用。其下载地址为官方下载地址,其是一个SDK一个组成部分,也可以百度之进行单独下载。...WinDbg下载后应该是一个msi文件,win7版本以上操作系统可以直接双击安装。安装后开始菜单中就可以选择WinDbg使用了。 使用WinDbg时第一步需要做就是设置符号文件位置。...此外还有许多命令,需要在以后学习中进一步掌握。可以参考资料有windbg分析dump操作流程以及使用Windbg解析dump文件 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

14.6K20

基于WDFPCIPCIe接口卡Windows驱动程序(2)-开发者需要了解WDF一些重要概念

用户模式下运行处理器无法访问为该操作系统保留虚拟地址。限制用户模式应用程序虚拟地址空间可防止应用程序更改并且可能损坏关键操作系统数据; 2、在内核模式下运行所有代码都共享单个虚拟地址空间。...如果内核模式驱动程序损坏,则整个操作系统会损坏; 3、最正式设备堆栈定义:设备堆栈为(设备对象、驱动程序)对有序列表,设备堆栈创建第一个设备对象位于底部,创建并附加到设备堆栈最后一个设备对象位于顶部...一个用于驱动程序,另一个用于驱动程序包; 10、内核模式驱动程序在从用户地址读取或写入这些地址时必须非常小心!...1)用户应用程序发起设备读取请求,程序提供缓冲区起始地址以接受数据; 2)内核驱动程序启动读取操作并将控制权返回到其调用程序; 3)设备中断当前运行任何线程以显示读取操作完成。...中断由此线程上运行内核驱动程序进行处理; 4)驱动程序不得将数据写入用户应用程序1)中提供地址,此地址位于发起请求进程虚拟地址空间,该进程很大可能不同于当前进程。

1.6K20

Flare-On逆向挑战赛(二)

Windbg加载完成了之后发现程序崩溃man.sys这个加载内核驱动当中,并且崩溃位置man + 0x1ce7位置。...因此,现在要做就是想办法dump下来这个sys文件然后看看当中到底是什么导致了崩溃。dump文件有两种方法,一种是直接在windbg当中用writemem命令0xf000长度内存。...这里正确profile应该是Win7SP1x64。 ? 通过memdumpsys文件。...后来第二天重新再看时候发现这里出来文件中间存在另一个PE头,将PE之后部分提取出来会发现是一个dll文件。 尝试 尝试调试分析这个dll文件,看看能不能给我们提供一些有用线索。...加密过程c.dll当中e函数里,可以看到加密是调用了windowsRtlCompressBufferLZNT1压缩函数之后又调用了R**加密函数加密了一次,加密使用key是用户用户名,并且因为

57820

Android开发高手课NOTE

捕获堆 使用:点击 Dump Java heap 堆显示您捕获堆时您应用哪些对象正在使用内存。...特别是长时间用户会话后,堆显示您认为不应再位于内存却仍在内存对象,从而帮助识别内存泄漏。 捕获堆后,您可以查看以下信息: 您应用已分配哪些类型对象,以及每个类型分配多少。...对象所分配到调用堆栈(目前,如果您在记录分配时捕获堆,则只有 Android 7.1 及更低版本,堆才能使用调用堆栈,请注意由下列任意情况引起内存泄漏: 长时间引用 Activity...(从磁盘拷贝到页缓存,由于页缓存处在内核空间,不能用户进程直接寻址,所以还需要将页缓存数据页再次拷贝到内存对应用户空间中) 而mmap操控文件,只需要从磁盘到用户主存一次数据拷贝过程。...因为用户最容易感知这个,明明没有怎么打开,为什么耗这么多?在后台不要做这些:长时间获取 WakeLock(及时释放)、WiFi 和蓝牙扫描、GPS、video、audio ?

84730

dotnet 调试应用启动闪退方法

如果勾选了仅代码调试,那将只调试 Debug 生成程序集,而默认忽略对 Release 程序集记录。大部分调试下,这个模式都可以减少发布程序集干扰,可以更加方便调试业务代码。...帮助下快速定位到为什么启动失败 但是如果应用只是在用户设备上才失败,那就没那么好玩了,接下来将告诉大家如何调试用户应用启动失败 使用 dnSpy 调试应用启动失败 在用户设备上,如果应用启动失败了...不能说明是应用自己写了逗比代码,也不能证明是系统环境问题,也不能证明是调用问题。想要了解为什么,只能继续往下进行调试 通过 dnSpy 神器可以辅助在用户端进行调试。...即可做到应用因为异常挂掉自动捕获 DUMP 文件 procdump.exe -e -t -w -ma 参数含义如下 -e : 当进程遇到未经处理异常时写入 -t : 进程终止时写入...最简单 DUMP 调试是打开 VisualStudio 将 DUMP 文件拖进入,然后如开始步骤先配置一下,然后点击使用混合进行调试即可 核心是看调用堆栈,和局部变量窗口,找到是哪个模块抛出异常或者退出

1.6K10

如何分析 WindowsDump:BSOD 分析与 WinDbg 使用(二)

推出 Dump机制宕机时先进行蓝屏收集宕机前状态,并且可以捕获到导致异常关键错误,当Windows出现异常Crash时Windows会调用Dump系统来形成一个文件(* .dmp),通过特殊工具可以进行分析...漏洞黑客所用工具导致蓝屏,明显就是没有写好异常处理回路) SDK、DDK调用了只有特定IRQL调用内核参数,即只有特定CPU中断请求时候才可以使用DDK调用内核参数未到中断请求时被发起调用...附蓝屏产生过程: 原理: 一、 BSOD分析: 虽然BSOD必然会输出Dump文件,但是BSOD也会带来相关有用信息,一般BSOD呈现方式为: 浅蓝框:序言、错误信息描述 中间部分:建议措施...thread 可以到进程涉及线程信息(可以看到这里是Idel时系统Crash掉): 8、 如果是系统组件导致问题,可以通过lm kv 导出加载内核模块: 9、 !...vm 可以看出crash时内存状态(可以看到用户 175ptServer.exe 进程占用较高): 10、 当然也可以通过memory视图来定位thread hang什么位置: 11、 WinDbg

6K20

驱动开发:WinDBG 常用调试命令总结

Windbg是Microsoft公司免费调试器调试集合GUI调试器,支持Source和Assembly两种模式调试。Windbg不仅可以调试应用程序,还可以进行Kernel Debug。...结合MicrosoftSymbol Server,可以获取系统符号文件,便于应用程序和内核调试。Windbg支持平台包括X86、IA64、AMD64。...runaway //显示当前进程所有线程用户态时间信息 !runaway f //显示当前进程所有线程用户态、内核态、存活时间信息 !locks // 显示死锁 !...// 进程入口放置一个断点 bm message_* // 匹配message_开头函数,并在这些函数起始处都打上断点 堆栈操作 k // 显示当前调用堆栈 kn // 带栈编号显示当前调用堆栈...kb // 打印出前3个函数参数的当前调用堆栈 kb 5 // 只显示最上5层调用堆栈 kv // kb基础上增加了函数调用约定、FPO等信息 kp // 显示每一层函数调用完整参数

77420

反取证技术:内核模式进程隐蔽

实现 关于概念性证明(PoC)评论 CERTGithub上代码是一个测试驱动程序,它是从使用内核模式驱动程序框架.aspx)Windows示例实现。...以上显示偏移可以Windows进程部分第一个KD截图中找到。 代码很容易被改进,可以使用更稳定访问这些字段方式然后提供一个用户控制界面。...内核模式驱动(仍然是一个活跃研究领域)存在对PatchGuard攻击。...现实生活,很多rootkit可以修改和劫持大量系统功能,使得大多数实时检测变得更加困难。这里推荐使用诸如Volatility等适应框架对RAM然后脱机研究。...Volatility有几个插件来分析运行进程,可以通过以下方式进行快速比较: 只有psscan和psxview发现了我们隐藏过程。

1.6K80
领券