<html>
<head>
<title>Zeta Debugger</title>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body bgcolor=#FFFFEE>
<h2 align=center>User Interface</h2>
<p> <a href=http://www.fyzor.com/debugger><font color=green size=5>Zeta Debugger</font></a>
has a rich context sensitive help for each command.
When you press <b>Control</b>, <b>Alt</b> or <b>Shift</b> keys or any combination of them,
a help balloon will pop up on the screen near the panel owning
the keyboard focus. From this balloon window you can either select commands
by left mouse button click or by pressing appropriate character key.
<p>Note that all functional keys, i.e. F1-F10, reserved for the main frame window,
whereas all character and movement keys are defined specificly for each panel.
<p>Debugger's graphical interface consists of the following panels:
<ul>
<li><b>Source</b> - Source/module file panel
<li><b>Code</b> - Disassembly panel
<li><b>CPU</b> - Processor's registers, flags and stack frames.
<br>Note that for correct frame recognition
your must use special compiler options to force usage
of frame base pointer (EBP register).
For VC compiler use option <b>/Oy-</b>
<li><b>Data</b> - Data dump panel
<li><b>Log</b> - Panel of your log file. By default the debugger uses it own logfile
<li><b>Watch</b> - Panel of C expression to watch
<li><b>Map</b> - Panel showing sections for the current module and current code/data positions within it
<li><b>Animator</b> - Animation of program execution
<li><b>Menu</b> - Menu panel for functional keys (F1-F10)
<li><b>Status</b> - Statusbar showing the mode, address location, last error, and so on.
</ul>
<p>Note that debugger does not use a stack panel,
because all procedure frames are shown in the CPU panel,
and the row stack data itself can be viewed in the data panel.
<h2 align=center>Options</h2>
<p>To simplify the work with debugger, almost all used options are saved
between sessions. As usual, they saved into system's registry when
you close the debugger and restored when you run it the next time.
These options called globals.
<p>But each time you load or open a new process, the debugger tries
to find and then to open from process's parent directory
a file with default name <b>zd.ini</b>, which contains local options
that override the global ones. When you close the process,
all local parameters saved back into this file,
and all previous values of globals are restored.
<p>In options dialog box there is a button called <b>Flush Into Config</b>
that saves all globals into local file. After that, you can manually
remove from the file only those options that must be global and leave others.
<h2 align=center>Workspace</h2>
<p>There is another file called <b>zd.job</b> that is created
by debugger for each process opened by you. All objects created during
debugging session are saved there. It is loaded from parent process
of any debugged process and saved again when you close the process.
<p>Format of this file is simple: each line until ';' contains
one element, which can be one of the following: watch expression,
comment, breakpoint or guard. At the start of each such a line comes
a type identifier of the element, and then come all its
agruments delimited by comma.
<p>There are four types of elements:</p>
<table border=0 width=100%>
<tr><th>Element Id <th> Mean <th>Arguments format
<tr><th>watch <td> Watch expression <td> "Expression"
<tr><th>comment <td> Comment's address and text <td> "Address expression", "Text"
<tr><th>guard <td> Guard's address and condition <td> "Address expression", "Condition expression"
<tr><th>break <td> Breakpoint's address <td> "Address expression"
</table>
<h3>Example of JOB file</h3>
<pre class=code>
watch "Count+1000";
watch argn;
break "_main+/0x25";
guard "&ItemList [100]", "ItemNum >= 100";
</pre>
<h2 align=center>Command line</h2>
<p>The debugger can be run from command line.
It takes the following arguments:
<pre>
<b>PID</b>:n - Open to debug the process with specified PID idenitfier.
<b>FILE</b>:filename - Open to debug the executable file with specified name.
<b>RUN</b>[:address] - Run application until the specified address or symbol.
<b>MAXIMIZE</b> - Maximize debugger's window when started.
</pre>
<h2 align=center>Plug-ins</h2>
<p>You can attach your own DLL-modules (plug-ins) to the debugger.
This could be useful in two cases:
<ol>
<li><p>When you want to extend functionality
of the debugger to meet your specific needs.</p>
<li><p>When you have a compiler that generates executable modules in
one of those formats that are not supported by the current
format loaders of the debugger. So you may decide to read
appropriate documentation and write it by yourself.</p>
</ol>
<h3>Attachment</h3>
<p>Plug-ins are attached to the debugger through four exported functions:
<table cellpadding=4>
<tr><th align=right>PLUGIN_Init <br> <font color=red>necessarily</font>
<td>It is called when the module is just loaded.
Besides, presence of this function serves as a mark by wich debugger
distinguishes a general DLL module from its own plug-ins.
<tr><th align=right>PLUGIN_Shutdown <td>It is called just before
the module is unloaded from the process memory of debugger.
In this function you can and must free any resources that
were allocated previously.
<tr><th align=right>PLUGIN_Prop <td>Called from the plug-ins control dialog
in the debugger. Could be used to change some internal options of plug-ins.
All these options we recomend to save into registry.
<tr><th align=right>PLUGIN_LoadSymbols <td>Used to load debugging symbols
from each module being loaded into debugged process. The function must return
TRUE, if the symbols are successfuly loaded.
</table>
<p>In your plug-ins you can call any service functions
that are declared in file dbg.h. Copy of this file you can find
in the plug-in control dialog box of the debugger.
More details about these service functions read
<a href=api.htm class=ref>here</a>.
<h3>Order of plug-ins loading</h3>
<p>All plug-ins must reside in one directory,
that is sepcified in plug-in control dialog
opened by pressing ALT+F5 key.
<p>The following algorithm is used to load plug-ins after the debugger
is loaded itself:
the debugger opens plug-ins directory and sequentially
loads each*.dll module found there. If such a DLL exports PLUGIN_Init function,
then it assumed to be a plug-in for the debugger and so left in memory.
Otherwise it is unloaded and no functionfrom it is called.
<p>There is one case when plug-ins can be reloaded - it happens when
the path of plug-ins is changed. In this case all plug-ins are unloaded,
and then loaded again from the new path.
<h2 align=center>Expressions</h2>
<p>In every dialog that asks you for an address or a value,
you can enter a C-like expression. Its syntax is not fully
compatible with C language, some operators are missed: <b>+=, -=, *=</b> and so on,
some added: <b>-/, +/, [..]</b>, and some overloaded: <b>,</b>.
<p>Besides, C expressions can include asm expressoins
in <b>type ptr []</b> brackets, so you do not need additionally to specify whether you mean C or ASM.
<h4>Operators</h4>
<p> Here is the list of supported operators:
<p>
<table align=center width=100% border=0>
<tr valign=top>
<td>
<table align=center border=1 cellpadding=1 cellspacing=0>
<tr><th colspan=2 bgcolor=#F0F0F0>Offset
<tr><th>-/ <td>Negative byte offset
<tr><th>+/ <td>Positive byte offset
<tr><th>-> <td>Element of pointer or scalar structure
<tr><th>. <td>Element of pointer or scalar structure
<tr><th colspan=2 bgcolor=#F0F0F0>Logical
<tr><th>|| <td>OR
<tr><th>&& <td>AND
<tr><th>! <td>NOT
<tr><th colspan=2 bgcolor=#F0F0F0
没有合适的资源?快使用搜索试试~ 我知道了~
C/C++及汇编语言源程序调试工具
共8个文件
dll:3个
exe:2个
htm:1个
5星 · 超过95%的资源 需积分: 3 41 下载量 49 浏览量
2008-06-25
11:51:33
上传
评论
收藏 436KB RAR 举报
温馨提示
Zeta Debugger v1.4_绿色英文特别版_一款C/C++及汇编语言源程序调试工具
资源推荐
资源详情
资源评论
收起资源包目录
ZD.rar (8个子文件)
ZD
zd.exe 584KB
index.htm 13KB
plugin
sample.dll 28KB
loadvc.dll 36KB
loadbcc.dll 36KB
.layout 3KB
uninst.exe 149KB
绿盟 - 首页.url 309B
共 8 条
- 1
资源评论
- 九章子2013-10-18下载了,没具体应用,可能还不错吧,关于 汇编的比较少
wyabc1986
- 粉丝: 35
- 资源: 152
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功