windbg命令_ken_scott的博客-程序员宝宝

技术标签: c++  笔记  c  

linux下使用ulimit -S -c unlimited命令,可以使程序崩溃时生成core文件,使用gdb exec_file core_file就可以查看崩溃的程序,接着使用bt就基本可以定位触发崩溃的代码段

 

windows下没有这么方便,但可以使用procexp和windbg来达到相同的目的,程序崩溃后,可以打开procexp,然后在procexp中选择崩溃的程序,右键菜单中创建转储文件,接着打开windbg,导入转储文件,执行一系列命令,查找崩溃的代码段

 

一般,依次使用下面命令,即可定位崩溃代码段信息:
1. .sympath+ E:\rayvision\bin\
   其中E:\rayvision\bin\是崩溃的程序对于的pdb文件的所在目录,另外pdb文件的名字必须是编译时生成的名字,后续重命名的不行
2. .reload /f
3. lm
   此时,可以看到第一行中会显示匹配的pdb文件
4. .load wow64exts
   当32位程序在64位机上执行,崩溃产生的dump文件,拿到32位机上找问题时,需要执行此命令
5. !sw
   当32位程序在64位机上执行,崩溃产生的dump文件,拿到32位机上找问题时,需要执行此命令
6. !analyze -v
   分析dump文件
7. kb
   堆栈信息
8. ~*k
   所有线程的堆栈信息

 

一些其他的命令:
.ecxr
kf 100
db 00030232
db
dt MSG 00030232
x test!*msg*
ln wWinMain
x wWinMain!test
u wWinMain!test

 

参考文章:
http://blog.csdn.net/hgy413/article/details/7602043
http://blog.csdn.net/chenyujing1234/article/details/7743460

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ken_scott/article/details/39263227

智能推荐

面对后端传过来的JSON数据前端开发中如何解析_瓦坎达forever的博客-程序员宝宝_后端json数据前端解析

首先解释一下我想要获取的数据,利用Ajax和后端进行异步请求然后后端发送过来的数据通过alert()是这样的那么问题就是我该如何得到这组数据中的msg中的数据或者data中的name的数据JSON.parse()方法,这个方法在我们的JS中是一个自带的方法,调用的时候直接通过JS对象.属性名就可以食用了...

OFDM学习笔记_小白小宋的博客-程序员宝宝_ofdm流程

1、OFDM本质OFDM本质上是一个频分复用系统。FDM并不陌生,用收音机接收广播时,不同广播电台使用不同频率,经过带通滤波器的通带,把想要听的广播电台接收下来,如图所示。FDM将整个系统的频带划分为多个带宽互相隔离的子载波;接收端必备器件是滤波器,通过滤波器,将所需的子载波信息接收下来。通过保护带宽隔离的不同子载波,虽可以避免不同载波的互相干扰,但牺牲了频谱利用效率。另外当子载波数成百上千时,滤波器的实现就非常困难了OFDM虽然也是一种FDM,但它客服了传统FDM频谱利用率低的缺点,接收.

ncurses库的介绍与安装_whatday的博客-程序员宝宝_mingw ncurses

​介绍ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。ncurses名字中的n意味着“new”,因为它是curses的自由软件版本。由于AT&T“臭名昭著”的版权政策,人们不得不在后来用ncurses去代替它。ncurses是GNU计划的一部分,但它却是少数几个不使用GNU GPL或LGPL授权的GNU软件之一...

微信APP支付回调 处理方法 PHP 记录日志方式 ,笔记。2020/5/26_Php_XiaoZhi的博客-程序员宝宝

<?php/** * Created by PhpStorm. * User: Administrator * Date: 2020/5/23 0023 * Time: 16:06 */function wxQueryPay_1($order){ $app_id = 'app_id '; //应用的appid $mch_id = 'mch_id '; // 您的商户账号 $nonce_str = nonce_str_1(); //随机字符串.

Shibboleth截图庆祝一下_kevinpan45的博客-程序员宝宝

SP受保护页面[img]http://dl.iteye.com/upload/attachment/0084/4400/1690063d-af7b-38d6-b1e1-3bab44f9266a.png[/img]EDS选择IDP[img]http://dl.iteye.com/upload/attachment/0084/4406/4856c779-e42a-3089-8574-2...

java epoll_Java-彻底弄懂netty-程序员不得不理清的epoll原理-知识铺_春梅狐狸的博客-程序员宝宝

原标题:Java-彻底弄懂netty-程序员不得不理清的epoll原理-知识铺知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累。不占太多时间,不停的来唤醒你记忆深处的知识点。一、高效的epollepoll 是Linux下,高效的多路复用技术,也是Linux下高性能网络服务器的关键技术。 通过网络socket链接,把远程资源加载到本地内存中。如何来优化这个性能呢?二、epoll提出原...

随便推点

POJ 2976 (二分)_morejarphone的博客-程序员宝宝

Dropping testsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8735 Accepted: 3043DescriptionIn a certain course, you take n tests. If you get ai out of 

后端开发、爬虫开发、人工智能、金融量化分析、大数据跟Python是什么关系?_普通网友的博客-程序员宝宝

Python是一种计算机程序设计语言,又被称为胶水语言,可以用混合编译的方式使用c/c++/java等语言的库。你可能已经听说过很多种流行的编程语言,比如在大学里感觉非常难学的C语言,进入社会非常流行的Java语言,以及适合初学者的Basic语言,非常适合网页编程的Java语言等,Python是他们其中的一种。Python可以做什么?1)网站后端程序员:使用它单间网站,后台服务比较容易维护。...

最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器_weixin_34248258的博客-程序员宝宝

=====================================================最简单的基于libVLC的例子文章列表:最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器最简单的基于libVLC的例子:最简单的基于libVLC的视频播放器(图形界面版)最简单的基于libVLC的例子:最简单的基于libVLC的推流器==========...

Appium基于安卓的各种FindElement的控件定位方法实践和建议_weixin_33860528的博客-程序员宝宝

AppiumDriver的各种findElement方法的尝试,尝试的目标应用是SDK自带的Notepad应用。 1. findElementByName 1.1 示例 el = driver.findElementByName("Add note"); assertThat(el.getText(),equalTo("Add not...

四位数码管秒表 c语言编程,4位共阴极数码管秒表设计仿真与程序_weixin_39901203的博客-程序员宝宝

#include "reg51.h"#include "intrins.h"#define GPIO_DIG P2 //数据端#define uchar unsigned char //重命名关键字#define uint unsigned int //重命名关键字sbi...

jvm源码浅谈_HelloWorldCS的博客-程序员宝宝_jvm源码分析

浅谈jvmjava虚拟机加载源码分析 /** * 首先c++创建java虚拟机和引导类加载(BootStrapApplication),然后引导类加载器加载Launcher,通过Launcher创建其他类加载器。 */ 1.getLauncher()单例的Lanuncher public static Launcher getLauncher() { return launcher; } 2.初始化Lanucher中的扩展类加载器(ExtClassLo