windbg远程调试方法
远程调试是需要又在不同位置上的调试器。执行真正调试称为调试服务器,另外一个,被称为调试客户端。调试客户端,控制着一个与远程调试器相应的是会话。有2种方式:直接使用windbg进行远程连接,使用cmd命令行。
注意:
pdb文件一定放置在服务器上面,在客户端的windbg里设置的符号文件路径也一定设置服务器的路径,否则在客户端的调试器中会出现无法打开路径的警告。
使用Windbg进行远程调试
服务端
1.在服务端当正常普通的情况下,使用Windbg运行可执行exe,像正常调试检测一样,可以执行到dmp文件。
2.在Debugger Command Window中,输入如下命令(5005为任意选择的端口作为实例):
.server tcp:port=5005
3.WinDbg将返回如下内容:
Server started. Client can connect with any of these command lines
0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
客户端:
在客户端计算机上,打开WinDbg,选择File菜单中的Connect to Remote Session。
6.在Connection String下面, 输入下面的字符串
tcp:Port=5005,Server=YourHostComputer
YourHostComputer的地方可以是你运行调试服务器计算机的名字,或者是IP.
在服务器和客户端的Command Window 都显示连接成功,这时候就可以在客户端输入执行的命令。
使用命令行
使用 -server 参数可以使WinDBG 以服务器方式启动。 WinDBG可以用多种连接协议让客户端连接,比如命名管道(named pipe), 安全管道(secure pipe), TCP 协议(socket), SSL 协议, 串口/并口(COM port) 等等。
服务端
命名管道
WinDBG.exe -server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [-noio] [Options]
TCP 协议
WinDBG.exe -server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [-noio] [Options] WinDBG.exe -server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [-noio] [Options]
串口/并口
WinDBG.exe -server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden],password=Password] [-noio] [Options]
安全管道
WinDBG.exe -server spipe:proto=Protocol,certuser=Cert|machuser=Cert},pipe=PipeName[,hidden],password=Password] [-noio] [Options]
SSL 协议
WinDBG.exe -server ssl:proto=Protocol,certuser=Cert|machuser=Cert},port=Socket[,hidden],password=Password] [-noio] [Options] WinDBG.exe -server ssl:proto=Protocol,certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [-noio] [Options]
客户端
命名管道
WinDBG.exe -remote npipe:server=Server,pipe=PipeName[,password=Password]
TCP 协议
WinDBG.exe -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
WinDBG.exe -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
串口/并口
WinDBG.exe -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
安全管道
WinDBG.exe -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
SSL 协议
WinDBG.exe -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
WinDBG.exe -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
如
服务端
1)、运行cmd.exe
2)、进入windbg的安装目录
3)、运行以下命令
(1)、windbg –server tcp:port=5005 F:\test\stdtest\sdk\release\MFCtest.exe //后面的是可执行程序
客户端:
1)、运行cmd.exe
2)、进入windbg的安装目录
3)、运行以下命令
windbg –remote tcp:port=5005,server=192.168.33.11 //服务主机的ip
需要设置一下环境,有2种办法:
1.在cmd 中,跳转目录到 windbg.exe 的安装目录,使用cd 绝对路径
2.在环境变量的系统变量path 加上 windbg.exe 的安装目录。
windbg远程调试方法相关推荐
- 西门子S7-1200PLC远程调试方法
西门子S7-1200PLC远程调试方法 作为自控工程师出差调试项目,远程电话技术支持是家常便饭,公司因为一点小问题就派工程师出差现场解决问题,成本高让老板也很头疼,服务得不好还容易引起与客户的矛盾,物 ...
- java远程调试_JAVA的远程调试方法
首先,JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的调试环境,并支持设置断点,支持线程线级的调试. JAVA的调试方法如下: 1.首先 ...
- linux java远程调试_[转]JPDA:Java平台调试架构(常用的远程调试方法)
原文出处:http://www.javaeye.com/topic/75128 最近使用WTP的Server功能很不爽,连tomcat服务器时java类中的任何改动都要重启服务器,一怒之下就改用JPD ...
- SOM-TL138F基于GDB和GDBServer的远程调试方法
1前言 表 1 开发板型号 是否支持本实验 TL437x-EVM 支持 TL437x-EasyEVM 支持 TL437x-IDK 支持 TL437xF-EVM 支持 操作环境: Ubuntu 14. ...
- WinDbg 本地调试和远程调试相关内容
文 1 实现WinDbg本地调试 文 2,3实现WinDbg远程调试App ============================================================== ...
- Visual Studio 2012/2010/2008 远程调试
远程调试应用场景 部署环境:ASP.NET(C#)+IIS+Win7 64 bit 很多公司的开发模式都是将开发机器和服务器分开,也就是开发一台机,服务器一台机.而测试人员会在服务器上录入测试数据,此 ...
- pycharm 远程调试图文_Pycharm配置远程调试的图文步骤
Pycharm配置远程调试方法总结 动机 一些bug由于本地环境和线上环境的不一致可能导致本地无法复现 本地依赖和线上依赖版本不一致也可以导致一些问题 有时一些bug跟数据相关,本地数据无法和线上数据 ...
- 用GDB Server进行远程调试
某些时候由于模拟环境的限制,调试必须要在目标板上进行.由于嵌入式系统资源比较有限,一般不能在目标板上直接构建GDB的调试环境,这时我们通常采用gdb+gdbserver的远程调试方法:gdbserve ...
- (十)Intellij 远程调试 a bug
接上篇文章:http://blog.csdn.net/lovesummerforever/article/details/50327445 经常使用第一种远程调试方法,也就是不改动任何的配置文件,使用 ...
- eclipse gdb gdbserver 远程调试
https://blog.csdn.net/linuxarmsummary/article/details/44975495 我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.0 ...
最新文章
- OSI中端到端与点到点区别。
- python学习第十节(yield表达式的应用+内置函数)
- android的NDK和java进行本地socket通信
- check box 如何调整字体大小_CSS中关于box-sizing你可能需要知道的小知识
- springboot集成mybatis源码分析-启动加载mybatis过程(二)
- Jzoj4840 小W砍大树
- 最近公共祖先_LCA 最近公共祖先
- Requests库实战(四)---爬取肯德基餐厅地址信息
- SVG(可扩展矢量图)系列教程
- markdownpad2下载安装教程
- SecureCRT快捷键大全
- 台式电脑怎么装win10 win11重装win10系统
- Python 基于豆瓣电影的可视化分析系统
- 28岁华为员工工资表曝光,牛逼的人注定会牛逼
- 【前端技术】一篇文章搞掂:WeX5
- 【Python零基础到入门】Python基础语法篇——数字(Number) 学习 【文末送书】
- 人工智能时代的自我修炼之-有效沟通
- Java工程师 Java基础面试题JVM(Day12)
- 安卓 Installation via USB is disabled
- 设计模式(三)代理设计模式
热门文章
- Assigning retained object to weak property object will be released after assignment
- 【ES】学习2-搜索
- Android库和项目收集-图片
- 使用express重构博客项目
- RabbitMQ的六种工作模式(三)
- 频繁模式挖掘apriori算法介绍及Java实现
- 贪吃蛇c语言判断没有输入,贪吃蛇问题
- 古代埃及希腊,数学用的什么进制
- (已解决)MAC JAVA错误:Cocoa AWT: Not running on AppKit thread 0 when expected
- SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.