这是命令 winedbg-development 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
winedbg - 葡萄酒调试器
概要
酒库 [ 选项 [ 程序名 [ 程序参数 ] | 进程标识符 ]
酒库 --gdb [ 选项 [ 程序名 [ 程序参数 ] | 进程标识符 ]
酒库 - 汽车 进程标识符
酒库 --小型转储 [ 文件.mdmp ] 进程标识符
酒库 文件.mdmp
商品描述
酒库 是 Wine 的调试器。 它允许:
+ 调试本机 Win32 应用程序
+ 调试 Winelib 应用程序
+ 成为 Dr Watson 的替代品
模式
酒库 可以在五种模式下使用。 程序的第一个参数决定了模式
winedbg 将运行。
默认
没有任何显式模式,这是标准的 酒库 操作模式。 酒库 将
充当用户的前端。
--gdb 酒库 将用作代理 GDB. GDB 将是命令的前端
处理,和 酒库 将代理来自 GDB 到 Win32 API。
- 汽车 该模式用于 酒库 设置在 调试 注册表项作为默认值
调试器。 酒库 然后将显示有关崩溃的基本信息。 这很有用
对于不想调试崩溃而是收集相关信息的用户
关于要发送给开发人员的崩溃。
--小型转储
这种模式类似于 - 汽车 一,除了而不是打印
屏幕上的信息(如 - 汽车 确实),它被保存到一个小型转储文件中。 这
文件名要么在命令行上传递,要么由 葡萄酒数据库 ,尤其是
没有给出。 此文件稍后可以重新加载到 酒库 为了更进一步的
检查。
文件.mdmp
在这种模式下 酒库 重新加载已保存到一个调试对象的状态
小型转储文件。 请参阅 小型转储 下面的命令,或 --小型转储 模式.
配置
当 默认 模式,以下选项可用:
- 命令 绳子
酒库 将执行命令 绳子 好像它是在 winedbg 命令行上键入的,
然后将退出。 这对于获取正在运行的进程的 pid 非常方便
(winedbg --command "info proc")。
- 文件 文件名
酒库 将执行文件 filename 中包含的命令列表,就好像它们
在 winedbg 命令行上键入,然后将退出。
当 GDB 代理模式,以下选项可用:
--没有开始
GDB 不会自动启动。 启动相关信息 GDB is
印在屏幕上。 当不直接使用时,这在某种程度上很有用 GDB 但一些
图形前端,例如 DDD or 公斤.
--with-xterm
这将运行 GDB 在它自己的 xterm 中而不是使用当前的 Unix 控制台
文字显示。
在所有模式下,命令行的其余部分在传递时用于识别哪个
程序,如果有的话,必须调试:
程序名
这是要为调试会话启动的可执行文件的名称。 酒库 将
实际上用这个可执行文件创建一个进程。 如果 程序参数 也
给定,它们将用作创建要调试的进程的参数。
进程标识符 酒库 将附加到 Windows pid 所在的进程 进程标识符。 使用 info 进程
内命令 酒库 列出正在运行的进程及其 Windows pid。
默认
如果未指定任何内容,您将进入调试器而不进行任何运行或附加
过程。 你必须自己做这项工作。
指令
默认 模式, 和 而 重装 a 小型转储 文件:
中使用的大多数命令 酒库 类似于那些来自 GDB。 请参考 GDB
有关更多详细信息的文档。 见 GDB 差异 部分稍后获得
变体列表 GDB 命令。
杂项。 命令
中止 中止调试器。
退出 退出调试器。
连接 N
附加到 Wine 进程 (N 是它的 Windows ID,数字或十六进制)。 ID 可以是
使用 info 过程 命令。 请注意 info 过程 命令返回
十六进制值
DETACH 从 Wine 进程中分离。
政策和帮助 命令
帮助 打印有关命令的一些帮助。
帮助 info
打印有关信息命令的一些帮助
自动化流程 控制 命令
续 继续执行直到下一个断点或异常。
通过 将异常事件向上传递到过滤器链。
步 继续执行直到下一行 C 代码(进入函数调用)
下页 继续执行直到下一行 C 代码(不进入函数调用)
梯级 执行下一条汇编指令(进入函数调用)
下一个 执行下一条汇编指令(不进入函数调用)
完 执行直到达到当前函数的返回。
续, 步, 下页, 梯级, 下一个 可以后缀一个数字 (N),表示命令
在控制权返回给用户之前必须执行 N 次。
断点, 观察点
enable N
启用 (break|watch)-point N
关闭 N
禁用 (break|watch)-point N
删除 N
删除 (break|watch)-point N
COND N 将任何现有条件移除到 (break|watch)-point N
COND N 表达式
添加条件 表达式 到(中断|观察)点 N. 表达式 将在每次评估
(break|watch)-点被击中。 如果结果为零值,则断点不是
触发。
打破 * N
在地址处添加断点 N
打破 id
在符号地址处添加断点 id
打破 id N
在该行添加断点 N 内部符号 id.
打破 N
在行处添加断点 N 当前源文件。
打破 在当前添加断点 $电脑 地址。
看 * N
在地址处添加监视命令(写入时) N (在 4 个字节上)。
看 id
在符号地址添加监视命令(写入时) id. 大小取决于大小
of id.
rwatch * N
在地址处添加监视命令(读取时) N (在 4 个字节上)。
rwatch id
在符号地址处添加监视命令(读取时) id. 大小取决于大小
id.
info 打破
列出所有 (break|watch) 点(及其状态)。
你可以使用符号 入口点 代表Dll的入口点。
设置 (break|watch)-point 时 id, 如果找不到符号(例如,
符号包含在尚未加载的模块中), 酒库 会想起名字
符号,并会在每次加载新模块时尝试设置断点(直到它
成功)。
堆 操纵
bt 打印当前线程的调用堆栈。
bt N 打印ID线程的调用栈 N. 注意:这不会改变位置
由控制的当前帧 up & dn 命令)。
up 在当前线程的堆栈中上升一帧
up N 往上 N 当前线程堆栈中的帧
dn 在当前线程的堆栈中下降一帧
dn N 下跌降落 N 当前线程堆栈中的帧
框架 N
套数 N 作为当前线程堆栈的当前帧。
info 当地人
打印有关当前函数框架的局部变量的信息。
目录 & 资源 文件 操纵
显示 DIR
打印查找源文件的目录列表。
DIR 路径名
添加 路径名 到查找源文件的目录列表
DIR 删除查找源文件的目录列表
符号文件 路径名
加载外部符号定义文件 路径名
符号文件 路径名 N
加载外部符号定义文件 路径名 (应用偏移量 N 至
地址)
名单 列出从当前位置向前的 10 条源代码行。
名单 - 从当前位置向后列出 10 行源代码
名单 N 从 line 列出 10 个源代码行 N 在当前文件中
名单 路径名:N
从 line 列出 10 个源代码行 N 在文件中 路径名
名单 id
列出函数的 10 行源代码 id
名单 * N
从地址列出 10 行源代码 N
您可以使用“,”分隔符指定结束目标(以更改 10 行值)。 为了
例:
名单 234
列出当前文件中从第 123 行到第 234 行的源代码行
名单 foo.c:1,56
列出文件 foo.c 中从第 1 行到第 56 行的源代码行
显示
显示是一个表达式,在执行任何 酒库
命令。
显示、
info 显示、
列出活动显示
显示、 表达式
添加表达式显示 表达式
显示、 /fmt 表达式
添加表达式显示 表达式. 印刷评估 表达式 是使用给定的
格式(见 打印 命令 有关格式的更多信息)
该 显示、 N
取消显示 N
删除显示 N
拆卸
迪萨斯 从当前位置拆卸
迪萨斯 表达式
从地址拆解 表达式
迪萨斯 表达式,表达式
反汇编由两个表达式指定的地址之间的代码
内存 (读, 写作, 打字)
x 表达式 检查地址处的内存 表达式
x /fmt 表达式
检查地址处的内存 表达式 使用格式 fmt
打印 表达式
打印值 表达式 (可能使用它的类型)
打印 /fmt 表达式
打印值 表达式 (可能使用它的类型)
集 VAR = 表达式
写入值 表达式 in VAR 变量
什么是 表达式
打印 C 类型的表达式 表达式
fmt 或者是 邮件 or 数 邮件,其中 邮件 可:
s 一个 ASCII 字符串
ua UTF16 Unicode 字符串
i 指令(拆卸)
x 32 位无符号十六进制整数
d 32 位有符号十进制整数
w 16 位无符号十六进制整数
c 字符(实际只打印可打印的 0x20-0x7f)
b 8 位无符号十六进制整数
g Win32 GUID
表达式
Wine Debugger 中的表达式大多以 C 形式编写。 然而,有几个
差异:
标识符可以带一个 '!' 以他们的名义。 这主要允许指定一个模块
从哪里查看 ID,例如 USER32!CreateWindowExA.
在强制转换操作中,当指定结构体或联合体时,必须使用结构体
或 union 关键字(即使您的程序使用 typedef)。
指定标识符时,如果存在多个同名符号,调试器将
提示您要使用的符号。 从编号中选择您想要的那个。
杂项。
小型转储 文件.mdmp 将调试对象的调试上下文保存到名为的小型转储文件中
文件.mdmp.
资讯 on 酒红色 内部
info 程
列出在 Wine 中注册的所有 Windows 类
info 程 id
打印有关 Windows 类的信息 id
info 分享
列出调试程序中加载的所有动态库(包括 .so
文件、NE 和 PE DLL)
info 分享 N
在地址处打印有关模块的信息 N
info 暂存器
打印 CPU 寄存器的值
info 所有注册
打印 CPU 和浮点寄存器的值
info 段
列出所有分配的段(仅限 i386)
info 段 N
打印段信息 N (仅限 i386)
info 堆
在堆栈顶部打印值
info 地图
列出被调试程序使用的所有虚拟映射
info 地图 N
列出 Windows pid 程序使用的所有虚拟映射 N
info WND
显示从桌面窗口开始的窗口层次结构
info WND N
打印句柄窗口信息 N
info 过程
列出 Wine 会话中的所有 w 进程
info 绪
列出 Wine 会话中的所有 w 线程
info 框架
列出异常帧(从当前堆栈帧开始)。 你也可以通过,
作为可选参数,一个线程 id(而不是当前线程)来检查它的
异常帧。
调试消息可以在使用调试时打开和关闭 集 命令,但是
仅适用于使用初始化的通道 酒虫 环境变量。
集 警告 + 赢
打开警告 赢 渠道
集 + 赢
打开警告/修复/错误/跟踪 赢 渠道
集 - 赢
关闭警告/修复/错误/跟踪 赢 渠道
集 整我 - 所有
关闭所有频道的 fixme 类
数据库 模式:
查看 GDB 所有的文档 GDB 命令。
然而,一些 Wine 扩展是可用的,通过 监控 命令:
监控 WND
列出 Wine 会话中的所有窗口
监控 进程
列出 Wine 会话中的所有进程
监控 成员
显示调试进程的内存映射
汽车 和 小型转储 模式:
由于不可能有用户输入,因此没有可用的命令。
环境
WINE_GDB
当用于 GDB 代理模式, WINE_GDB 指定名称(和路径)
可执行文件用于 GDB. 默认使用“gdb”。
作者
第一个版本是由 Eric Youngdale 编写的。
其他贡献者请参见 Wine 开发者列表。
使用 onworks.net 服务在线使用 winedbg-development