WinDbg学习笔记八 - 内核调试常用命令2 - 进程相关

利用windbg分析程序崩溃生成的dmp文件 Windbg是一款功能十分强大的调试工具,它设计了极其丰富的功能来支持各种调试任务,包括用户态调试、内核态调试、调试转储文件、远程调试等等。 基本步骤: ●STEP 1:打开Windbg,在file中选择open crash Dump来打开所需要调试的Dump文件。 ●STEP 2:在file菜单中分别设置好Symbol file path 和 Source file path。 其中Symbol file path是程序编译时所生成的pdb文件,具体到某一个.pdb文件,如: ... 阅读详情

!process: 查看进程信息,比如EPROCESS地址,进程ID,线程信息等等。


!process 0 0: 用来显示进程列表以及每个进程的基本信息。



也可以查看指定进程的信息,以下会显示863e6b60进程的基本信息,不加0则会显示具体的信息。



!process -1 0则会显示当前进程的基本信息,



也可以查找特定的进程,比如



.process: 主要用来在进程间进程切换。

不加参数的时候,则切换到当前中断的进程上下文。



.process /r /p proaddress 和 .process /i proaddress 切换到指定的进程, 但是前者只是显示上面的不同,而后者会让系统做实际的进程切换,所以后者需要再加上g命令,让目标系统去做这个切换。


!dml_proc: 显示进程信息,但是格式上会简洁很多。



Windows 内核之双机调试与windbg命令大全 在今后会有相当的实验环节,对于windows内核实验,调试环境是必不可少的,本章讲解双机调试的环境搭建与常见的WINDBG指令。 准备材料: VMware workstation : [https://www.vmware.com/go/downloadworkstation-cn] windows 7 x64 ISO (请使用种子下载工具进行下载): [ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|34205573 阅读详情

相关推荐

WinDbg 内核调试常用命令

1. vertarget 命令可以显示目标系统的基本信息,如系统版本,计算机名,内核基质等 kd> vertarget Windows 7 Kernel Version 7601 (Service Pack 1) MP (1 procs) Free x86 compatible Built by: 7601.18113.x86fre.win7sp1_gdr.130318-1533 Machine

BpLife 1988

windbg学习---!process

!process 0 0 显示进程列表:

ShadowAssassin的专栏 4558

WinDbg学习笔记六 - 内核调试配置

内核调试可以分为三种情况: 本机内核调试,双机内核调试 - 真机双机内核调试,虚拟机双机内核调试。本篇将介绍本机内核调试以及虚拟机内核调试的配置。 本机内核调试配置: 本机内核调试功能比较单一,只能读写内存,没有基本的单步断点等功能, 可以主要用来查看系统内核信息。目前主要是通过WinDbg自带的kldbgdrv.sys驱动调用nt!KdSystemDebugControl函数来提供支

imJaron的博客 1043

windbg-.process切换进程

.process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe [cpp] view plain copy   kd> .process   Implicit process is now 821f5da0   kd> ? @$proc

whatday的专栏 2808

windbg分析进程卡死、CPU高占用

本文重点讲述的是通过windbg分析进程卡死、CPU占用过高的问题,在日常的开发过程中,,那么在这种情况下我们该如何找出程序是在哪个环节或函数处卡主的?本文正是为了解决此问题。

Think88666的博客 3047

Windbg调试命令汇总

Windbg调试命令汇总

dvlinker的技术专栏 2万+

用windbg内核模式调试用户态程序

  windbg 如何再内核模式调试用户空间的程序 收藏 1:使用!process 0 0 获取用户空间的所有的进程的信息 !process 0 0 **** NT ACTIVE PROCESS DUMP ****     PROCESS 80a02a60  Cid: 0002    Peb: 00000000  ParentCid: 0000     DirBase: 0000

lwglucky的专栏 5663

Windbg调试工具详细介绍

本文详细介绍一下Windbg的相关内容。

dvlinker的技术专栏 1万+

Windbg 内核态调试用户态进程

之前写过双机调试环境的搭建,一般用来调试驱动这样内核态的东西,今天遇到一个问题,就是在内核态的情况下怎么给用户态的程序下断点?也就是在内核态怎么调试用户态的程序,比如想要给CreateProcessW这个API下断点怎么整?因为CreateProcessW这个API是位于Kernel32.dll这个模块里边的,但是这个模块是属于用户态的模块,内核会话不会加载这个模块。 使用的示例:自己写的Demo,用OD附加之后,给CreateProcessW下断点(其实没必要使用OD附加) 接下来开始展示: 1、搭建双机

4SecNet团队专栏 2963

隐藏在WAV音频里的秘密:用Python脚本从‘噪音’CTF题中提取Flag

本文详细解析了如何利用Python脚本从WAV音频文件中提取隐藏的Flag信息,特别针对CTF比赛中的音频隐写技术。通过分析WAV文件结构、编写Python解析脚本,并解决字节序处理和异常值等实际问题,帮助读者掌握从‘噪音’中解码Flag的技巧。

weixin_30617737的博客 482

BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network(2018,妆容迁移)

论文下载地址:BeautyGAN | Proceedings of the 26th ACM international conference on Multimedia 目的:在实例级实现化妆图像和非化妆图像的妆容迁移 方法:全局域集损失和本地实例级损失合并到一个双输入/输出对抗生成网络。步骤:使用一对鉴别器将非化妆面传输到化妆域,鉴别器从域的真实样本中分辨出生成的图像。在域集迁移的基础上,采用基于不同人脸区域的像素级直方图损失来实现实例级迁移。为了保持人脸的一致性和消除伪影,在总体目标函数中加入了.

weixin_53965540的博客 663

windbg kd 内核调试状态下调试用户某个进程

process 0 0 notepad.exe # 找进程。kd> g # 继续执行。.process /i /p # 通知调试器切换进程。process 0 0 notepad.exe # 查找记事本进程。.process /r /p # 刷新地址空间。process 0 0 # 简单列表。process 0 7 # 详细信息。

zhangyihu321的专栏 1118

OpenCV视频防抖算法实现与优化指南

本文详细解析了如何使用OpenCV实现视频防抖算法。通过特征点检测与光流跟踪估算帧间运动,利用滑动平均平滑运动轨迹,并应用仿射变换重塑视频帧。文章提供了完整的代码实现、参数调优指南及黑边处理等优化技巧,帮助开发者高效处理手持拍摄等场景下的视频抖动问题。

weixin_29062823的博客 338

WinDBG 配置内核双机调试

WinDBG 是在 windows 平台下,强大的用户态和内核态调试工具,相比较于 Visual Studio 它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大,WinDBG由于是微软的产品所以能够调试Windows系统的内核,另外一个用途是可以用来分析dump数据,本笔记用于记录WinDBG内核调试的配置过程,并附有常用命令的使用方法。 ...

weixin_30790841的博客 928

Feko仿真GPS微带天线学习笔记

为了优化方便,使参数变量化,所以定义几个变量在CADFEKO左侧浏览器中如图所示定义变量,如下表贴片的尺寸切角尺寸feed =-6.4馈电点距坐标原点的距离sub_w=45基板的宽度sub_d=45基板的长度sub_h=5基板的高度epsR=5.6介电常数损耗角正切。

qq_36521926的博客 3988

CDO批量处理nc文件:5分钟搞定CMIP6数据双线性插值(附完整代码)

本文详细介绍了如何使用CDO工具链中的`remapbil`命令,快速实现CMIP6数据的批量双线性插值处理。通过环境配置、核心操作步骤、高级优化技巧及典型报错解决方案,帮助科研人员高效处理大规模nc文件,显著提升气象数据处理效率。

weixin_29267307的博客 291

软件调试实战:windbg 内核调试 (lkd kd )

http://advdbg.org/books/swdbg/samples.aspx 一,本地内核调试( lkd ): 管理员权限启动windbg,ctrl + k --> Local 二,查看进程数据结构 1.启动计算器 2. !process 0 0 列出系统内的所有进程 3. dt _EPROCESS 88270030 ...

huanongying131的博客 5682

PyTorch实战(26)——PyTorch分布式训练

在本节中,我们将探讨如何通过跨机器和机器内多进程的分布式训练来加速模型训练过程。我们将系统学习 PyTorch 提供的三大分布式训练 API——torch.distributed、torch.multiprocessing 以及 torch.utils.data.distributed.DistributedSampler,使用这些 API 能够极大的简化分布式训练,介绍如何使用 PyTorch 的分布式训练工具,在 CPU 和 GPU 上加速训练。

盼小辉丶的博客 3784

使用WinDbg调试内核

知识点 WinDbg是微软提供的一个免费调试器,支持内核调试,也具有监控Windows系统交互的功能。 **驱动与内核代码:**Windows设备驱动简称为驱动,他让第三方开发商在Windows内核模式下运行代码。驱动程序常驻与内存,并且负责响应用户态程序的请求,而且应用程序不直接与驱动程序通信,而是直接访问设备对象,向具体的物理设备发送请求。设备对象由驱动程序创建和销毁,可以被用户态的程序直接访...

Hvnt3r的博客 3547

VTK实战完整教程介绍

该专栏以VTK提供的Example为基础,讲解VTK中的相关接口和使用方法。订阅该专栏,带你了解所有VTK的功能,以便VTK更好的解决工作中遇到的问题。一起学习起来吧!

qq_40041064的博客 2502

数控系统(CNC)系列:Fanuc 31i-B_(16).CNC系统的网络连接与数据传输

硬件连接:包括网络接口的类型、连接方式等。网络协议:常用的网络协议包括Ethernet、Modbus TCP、Profinet等。网络配置:如何在CNC系统中配置网络参数,使其能够正确接入网络。在网络化的现代工业生产环境中,CNC系统的网络连接和数据传输能力变得越来越重要。通过以太网、Modbus TCP和Profinet等网络协议,可以实现CNC系统与上位机、其他CNC系统以及各种工业设备之间的高效通信。

2401_87715305的博客 2432

驱动开发:WinDBG 配置内核双机调试

WinDBG 是在 windows 平台下,强大的用户态和内核态调试工具,相比较于 Visual Studio 它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大,WinDBG由于是微软的产品所以能够调试Windows系统的内核,另外一个用途是可以用来分析dump数据,本笔记用于记录WinDBG内核调试的配置过程,并附有常用命令的使用方法。6.接着回到物理机上面,我们在命令行中切换到WinDBG的根目录下,并执行以下命令,即可连接虚拟机串口进行调试了。

微软技术分享 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

windbg远程调试

在下载的WDK的时候,勾选上:就会去下载windbg在这个install 文件夹下,有exe安装包当SDK安装完毕后,可以看到这个文件夹下面有两个 exe, 32 和64 的,都可以安装。

u011658027的博客 1440

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

设置WINDBG本机内核调试

之前使用过WINDBG+虚拟机进行双机内核调试,这次需要直接使用本机内核调试的功能,在设置的时候遇到的一些问题即解决方法来分享一下。 下面是借鉴的别人的博客里的步骤 ** 1. 下载/安装windbg   2. 找到windbg的安装路径,windbg访问符号需要两个文件(SYMSRV.DLL 和 SYMSTORE.EXE)所以添加主path环境变量中它们的路径进去,即:你的windbg安

Lawliet_233的博客 2302

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

windbg内核调试原理浅析

<br />From:  http://dragonsn.bokee.com/502510.html<br /> <br /> <br />SoBeIt <br /><br />    前段时间忽然对内核调试器实现原来发生了兴趣,于是简单分析了一下当前windows下主流内核调试器原理,并模仿原理自己也写了个极其简单的调试器:) <br /><br />                WinDBG <br />     <br />    WinDBG和用户调试器一点很大不同是内核调试器在一台机器上启动,通

zht_304的专栏 3516
上一篇: WinDbg学习笔记七 - 内核调试常用命令1 - 查看目标机
下一篇: 内存对齐的规则以及作用
imJaron
博客等级 码龄11年 121粉丝 286原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值