mirror of
https://github.com/x64dbg/x64dbg.git
synced 2024-10-07 18:23:49 +00:00
PROJECT: updated help
PROJECT: updated todo list DBG: added 'erun', 'estep' etc. DBG: added explicit api retrieval ("ntdll.dll:LdrGetFailuredata" works now) GUI: added erun, estep etc in the menu + shortcut GUI: fixed pageup+pagedown problem in disassembly
This commit is contained in:
parent
3da353e8c5
commit
99d67a5777
@ -75,10 +75,11 @@ the "x" prefix. Decimal numbers can be used by prefixing the number with a "."
|
||||
See "Calculations" for more
|
||||
information.</SPAN></P>
|
||||
<P class=rvps3><SPAN class=rvts9><U>DLL exports</U>: Type 'GetProcAddress' and it will
|
||||
automatically be resolved to the
|
||||
automatically be resolved to the actual address of the function. To explicitly define from
|
||||
which module to load the
|
||||
|
||||
actual address of the
|
||||
function.</SPAN></P>
|
||||
API, use: "kernel32.dll:GetProcAddress" or
|
||||
"kernel32:GetProcAddress"</SPAN></P>
|
||||
<P class=rvps3><SPAN class=rvts9><U>labels/symbols</U>
|
||||
: user-defined labels
|
||||
|
||||
@ -89,4 +90,4 @@ expressions.</SPAN></P>
|
||||
Input
|
||||
|
||||
for arguments can always be done in any of the above forms, except if stated
|
||||
otherwise.</SPAN></P></BODY></HTML>
|
||||
otherwise.</SPAN></P></body></HTML>
|
@ -16,10 +16,10 @@ html,body {
|
||||
|
||||
<body>
|
||||
<P><STRONG>StepOver[,step,sto,st]<BR></STRONG>Step over
|
||||
calls, when the instruction at CIP isn't a call, a StepInto is performed.</P>
|
||||
calls. When the instruction at CIP isn't a call, a StepInto is performed.</P>
|
||||
<P><SPAN class=rvts11><U>arguments</U><BR></SPAN><SPAN
|
||||
class=rvts9>This command has no arguments.</SPAN><SPAN
|
||||
class=rvts9>
|
||||
</P></SPAN>
|
||||
<P class=rvps3><SPAN class=rvts11><U>result<BR></U></SPAN><SPAN class=rvts9>This command does not set any result
|
||||
variables.</SPAN></P></body>
|
||||
variables.</SPAN></P></head>
|
28
help/eSingleStep_esstep_esst.htm
Normal file
28
help/eSingleStep_esstep_esst.htm
Normal file
@ -0,0 +1,28 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>eSingleStep/esstep/esst</title>
|
||||
<meta name="GENERATOR" content="WinCHM">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style>
|
||||
html,body {
|
||||
/* Default Font */
|
||||
font-family: Courier New;
|
||||
font-size: 11pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P >
|
||||
<STRONG >
|
||||
eSingleStep[,esstep,esst]
|
||||
|
||||
<BR></STRONG>Step a specified number of instructions using the
|
||||
Trap-Flag, skipping first-chance exceptions.</P>
|
||||
<P class=rvps3><SPAN class=rvts11><U>arguments</U><BR></SPAN><SPAN
|
||||
class=rvts9></SPAN><SPAN class=rvts9>[arg1]: The number of instructions to executre (this can be
|
||||
any valid expression). When not specified, a StepInto is performed.<BR></SPAN></P>
|
||||
<P class=rvps3><SPAN class=rvts11><U>result<BR></U></SPAN><SPAN class=rvts9>This command does not set any result variables.</SPAN></P>
|
||||
<P> </P></body>
|
36
help/eStepInto_esti.htm
Normal file
36
help/eStepInto_esti.htm
Normal file
@ -0,0 +1,36 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>eStepInto/esti</title>
|
||||
<meta name="GENERATOR" content="WinCHM">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style>
|
||||
html,body {
|
||||
/* Default Font */
|
||||
font-family: Courier New;
|
||||
font-size: 11pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P>
|
||||
<STRONG>
|
||||
eStepInto[,esti]
|
||||
<BR>
|
||||
|
||||
</STRONG>Single Step (using Trap-Flag), skipping
|
||||
first-chance exceptions.
|
||||
</P>
|
||||
<P class=rvps3 >
|
||||
<SPAN class=rvts11 >
|
||||
|
||||
<U>
|
||||
arguments</U>
|
||||
<BR></SPAN><SPAN
|
||||
class=rvts9>This command has no arguments.</SPAN><SPAN
|
||||
class=rvts9><BR></SPAN></P>
|
||||
<P class=rvps3><SPAN class=rvts11><U>result<BR></U></SPAN><SPAN class=rvts9>This command does not set any result variables.</SPAN></P>
|
||||
<P> </P></body>
|
||||
</html>
|
34
help/eStepOut_ertr.htm
Normal file
34
help/eStepOut_ertr.htm
Normal file
@ -0,0 +1,34 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>eStepOut/ertr</title>
|
||||
<meta name="GENERATOR" content="WinCHM">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style>
|
||||
html,body {
|
||||
/* Default Font */
|
||||
font-family: Courier New;
|
||||
font-size: 11pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P>
|
||||
<STRONG>
|
||||
eStepOut[,ertr]
|
||||
<BR>
|
||||
</STRONG>Return from function by calling eStepOver until
|
||||
the current instruction is a RET.</P>
|
||||
<P class=rvps3>
|
||||
<SPAN class=rvts11 >
|
||||
<U >
|
||||
arguments</U>
|
||||
|
||||
<BR></SPAN>
|
||||
<SPAN
|
||||
class=rvts9>This command has no arguments.</SPAN> </P>
|
||||
<P class=rvps3><SPAN class=rvts11><U>result<BR></U></SPAN><SPAN class=rvts9>This command does not set any result
|
||||
variables.</SPAN></P></body>
|
||||
</html>
|
35
help/eStepOver_estep_esto_est.htm
Normal file
35
help/eStepOver_estep_esto_est.htm
Normal file
@ -0,0 +1,35 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>eStepOver/estep/esto/est</title>
|
||||
<meta name="GENERATOR" content="WinCHM">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style>
|
||||
html,body {
|
||||
/* Default Font */
|
||||
font-family: Courier New;
|
||||
font-size: 11pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P>
|
||||
<STRONG>
|
||||
eStepOver[,estep,esto,est]
|
||||
<BR>
|
||||
</STRONG>Step over calls, skipping first-chance
|
||||
exceptions. When the instruction at CIP isn't a call, a StepInto is
|
||||
performed.</P>
|
||||
<P>
|
||||
<SPAN class=rvts11 >
|
||||
<U >
|
||||
arguments</U>
|
||||
|
||||
<BR></SPAN>
|
||||
<SPAN
|
||||
class=rvts9>This command has no arguments.</SPAN><SPAN
|
||||
class=rvts9> </P></SPAN>
|
||||
<P class=rvps3><SPAN class=rvts11><U>result<BR></U></SPAN><SPAN class=rvts9>This command does not set any result
|
||||
variables.</SPAN></P></body>
|
32
help/erun_ego_er_eg.htm
Normal file
32
help/erun_ego_er_eg.htm
Normal file
@ -0,0 +1,32 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>erun/ego/er/eg</title>
|
||||
<meta name="GENERATOR" content="WinCHM">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<style>
|
||||
html,body {
|
||||
/* Default Font */
|
||||
font-family: Courier New;
|
||||
font-size: 11pt;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<P><STRONG>erun[,ego,er,eg]</STRONG><BR>Free the
|
||||
lock and allow the program to run, skipping first-chance exceptions.</P>
|
||||
<P>
|
||||
<U>
|
||||
arguments
|
||||
</U>
|
||||
<BR>
|
||||
This command has no arguments.</P>
|
||||
<P>
|
||||
<U >
|
||||
result</U>
|
||||
<BR >
|
||||
This command does not set any result variables.</P>
|
||||
<P> </P></body>
|
||||
</html>
|
442
help/x64_dbg.wcp
442
help/x64_dbg.wcp
@ -96,7 +96,7 @@ Font=
|
||||
DefaultTopic=Introduction.htm
|
||||
|
||||
[TOPICS]
|
||||
TitleList=65
|
||||
TitleList=70
|
||||
TitleList.Title.0=Introduction
|
||||
TitleList.Level.0=0
|
||||
TitleList.Url.0=Introduction.htm
|
||||
@ -105,7 +105,7 @@ TitleList.Status.0=0
|
||||
TitleList.Keywords.0=
|
||||
TitleList.ContextNumber.0=1000
|
||||
TitleList.ApplyTemp.0=0
|
||||
TitleList.Expanded.0=0
|
||||
TitleList.Expanded.0=1
|
||||
TitleList.Kind.0=0
|
||||
TitleList.Title.1=Input
|
||||
TitleList.Level.1=1
|
||||
@ -145,7 +145,7 @@ TitleList.Status.4=0
|
||||
TitleList.Keywords.4=
|
||||
TitleList.ContextNumber.4=1003
|
||||
TitleList.ApplyTemp.4=0
|
||||
TitleList.Expanded.4=1
|
||||
TitleList.Expanded.4=0
|
||||
TitleList.Kind.4=0
|
||||
TitleList.Title.5=Debug Control
|
||||
TitleList.Level.5=1
|
||||
@ -187,564 +187,614 @@ TitleList.ContextNumber.8=1013
|
||||
TitleList.ApplyTemp.8=0
|
||||
TitleList.Expanded.8=0
|
||||
TitleList.Kind.8=0
|
||||
TitleList.Title.9=pause
|
||||
TitleList.Title.9=erun/ego/er/eg
|
||||
TitleList.Level.9=2
|
||||
TitleList.Url.9=pause.htm
|
||||
TitleList.Url.9=erun_ego_er_eg.htm
|
||||
TitleList.Icon.9=0
|
||||
TitleList.Status.9=0
|
||||
TitleList.Keywords.9=
|
||||
TitleList.ContextNumber.9=1045
|
||||
TitleList.ContextNumber.9=1065
|
||||
TitleList.ApplyTemp.9=0
|
||||
TitleList.Expanded.9=0
|
||||
TitleList.Kind.9=0
|
||||
TitleList.Title.10=StepInto/sti
|
||||
TitleList.Title.10=pause
|
||||
TitleList.Level.10=2
|
||||
TitleList.Url.10=StepInto.htm
|
||||
TitleList.Url.10=pause.htm
|
||||
TitleList.Icon.10=0
|
||||
TitleList.Status.10=0
|
||||
TitleList.Keywords.10=
|
||||
TitleList.ContextNumber.10=1021
|
||||
TitleList.ContextNumber.10=1045
|
||||
TitleList.ApplyTemp.10=0
|
||||
TitleList.Expanded.10=0
|
||||
TitleList.Kind.10=0
|
||||
TitleList.Title.11=StepOver/step/sto/st
|
||||
TitleList.Title.11=StepInto/sti
|
||||
TitleList.Level.11=2
|
||||
TitleList.Url.11=StepOver.htm
|
||||
TitleList.Url.11=StepInto.htm
|
||||
TitleList.Icon.11=0
|
||||
TitleList.Status.11=0
|
||||
TitleList.Keywords.11=
|
||||
TitleList.ContextNumber.11=1022
|
||||
TitleList.ContextNumber.11=1021
|
||||
TitleList.ApplyTemp.11=0
|
||||
TitleList.Expanded.11=0
|
||||
TitleList.Kind.11=0
|
||||
TitleList.Title.12=SingleStep/sstep/sst
|
||||
TitleList.Title.12=eStepInto/esti
|
||||
TitleList.Level.12=2
|
||||
TitleList.Url.12=SingleStep.htm
|
||||
TitleList.Url.12=eStepInto_esti.htm
|
||||
TitleList.Icon.12=0
|
||||
TitleList.Status.12=0
|
||||
TitleList.Keywords.12=
|
||||
TitleList.ContextNumber.12=1023
|
||||
TitleList.ContextNumber.12=1064
|
||||
TitleList.ApplyTemp.12=0
|
||||
TitleList.Expanded.12=0
|
||||
TitleList.Kind.12=0
|
||||
TitleList.Title.13=StepOut/rtr
|
||||
TitleList.Title.13=StepOver/step/sto/st
|
||||
TitleList.Level.13=2
|
||||
TitleList.Url.13=rtr.htm
|
||||
TitleList.Url.13=StepOver.htm
|
||||
TitleList.Icon.13=0
|
||||
TitleList.Status.13=0
|
||||
TitleList.Keywords.13=
|
||||
TitleList.ContextNumber.13=1028
|
||||
TitleList.ContextNumber.13=1022
|
||||
TitleList.ApplyTemp.13=0
|
||||
TitleList.Expanded.13=0
|
||||
TitleList.Kind.13=0
|
||||
TitleList.Title.14=Breakpoints
|
||||
TitleList.Level.14=1
|
||||
TitleList.Url.14=Breakpoints.htm
|
||||
TitleList.Title.14=eStepOver/estep/esto/est
|
||||
TitleList.Level.14=2
|
||||
TitleList.Url.14=eStepOver_estep_esto_est.htm
|
||||
TitleList.Icon.14=0
|
||||
TitleList.Status.14=0
|
||||
TitleList.Keywords.14=
|
||||
TitleList.ContextNumber.14=1019
|
||||
TitleList.ContextNumber.14=1066
|
||||
TitleList.ApplyTemp.14=0
|
||||
TitleList.Expanded.14=0
|
||||
TitleList.Kind.14=0
|
||||
TitleList.Title.15=bplist
|
||||
TitleList.Title.15=SingleStep/sstep/sst
|
||||
TitleList.Level.15=2
|
||||
TitleList.Url.15=bplist.htm
|
||||
TitleList.Url.15=SingleStep.htm
|
||||
TitleList.Icon.15=0
|
||||
TitleList.Status.15=0
|
||||
TitleList.Keywords.15=
|
||||
TitleList.ContextNumber.15=1015
|
||||
TitleList.ContextNumber.15=1023
|
||||
TitleList.ApplyTemp.15=0
|
||||
TitleList.Expanded.15=0
|
||||
TitleList.Kind.15=0
|
||||
TitleList.Title.16=SetBPXOptions/bptype
|
||||
TitleList.Title.16=eSingleStep/esstep/esst
|
||||
TitleList.Level.16=2
|
||||
TitleList.Url.16=SetBPXOptions_bptype.htm
|
||||
TitleList.Url.16=eSingleStep_esstep_esst.htm
|
||||
TitleList.Icon.16=0
|
||||
TitleList.Status.16=0
|
||||
TitleList.Keywords.16=
|
||||
TitleList.ContextNumber.16=1018
|
||||
TitleList.ContextNumber.16=1067
|
||||
TitleList.ApplyTemp.16=0
|
||||
TitleList.Expanded.16=0
|
||||
TitleList.Kind.16=0
|
||||
TitleList.Title.17=SetBPX/bp/bpx
|
||||
TitleList.Title.17=StepOut/rtr
|
||||
TitleList.Level.17=2
|
||||
TitleList.Url.17=SetBPX_bp_bpx.htm
|
||||
TitleList.Url.17=rtr.htm
|
||||
TitleList.Icon.17=0
|
||||
TitleList.Status.17=0
|
||||
TitleList.Keywords.17=
|
||||
TitleList.ContextNumber.17=1012
|
||||
TitleList.ContextNumber.17=1028
|
||||
TitleList.ApplyTemp.17=0
|
||||
TitleList.Expanded.17=0
|
||||
TitleList.Kind.17=0
|
||||
TitleList.Title.18=DeleteBPX/bpc/bc
|
||||
TitleList.Title.18=eStepOut/ertr
|
||||
TitleList.Level.18=2
|
||||
TitleList.Url.18=DeleteBPX_bpc_bc.htm
|
||||
TitleList.Url.18=eStepOut_ertr.htm
|
||||
TitleList.Icon.18=0
|
||||
TitleList.Status.18=0
|
||||
TitleList.Keywords.18=
|
||||
TitleList.ContextNumber.18=1017
|
||||
TitleList.ContextNumber.18=1068
|
||||
TitleList.ApplyTemp.18=0
|
||||
TitleList.Expanded.18=0
|
||||
TitleList.Kind.18=0
|
||||
TitleList.Title.19=EnableBPX/bpe/be
|
||||
TitleList.Level.19=2
|
||||
TitleList.Url.19=EnableBPX_bpe_be.htm
|
||||
TitleList.Title.19=Breakpoints
|
||||
TitleList.Level.19=1
|
||||
TitleList.Url.19=Breakpoints.htm
|
||||
TitleList.Icon.19=0
|
||||
TitleList.Status.19=0
|
||||
TitleList.Keywords.19=
|
||||
TitleList.ContextNumber.19=1014
|
||||
TitleList.ContextNumber.19=1019
|
||||
TitleList.ApplyTemp.19=0
|
||||
TitleList.Expanded.19=0
|
||||
TitleList.Kind.19=0
|
||||
TitleList.Title.20=DisableBPX/bpd/bd
|
||||
TitleList.Title.20=bplist
|
||||
TitleList.Level.20=2
|
||||
TitleList.Url.20=DisableBPX_bpd_bd.htm
|
||||
TitleList.Url.20=bplist.htm
|
||||
TitleList.Icon.20=0
|
||||
TitleList.Status.20=0
|
||||
TitleList.Keywords.20=
|
||||
TitleList.ContextNumber.20=1016
|
||||
TitleList.ContextNumber.20=1015
|
||||
TitleList.ApplyTemp.20=0
|
||||
TitleList.Expanded.20=0
|
||||
TitleList.Kind.20=0
|
||||
TitleList.Title.21=SetHardwareBreakpoint/bph/bphws
|
||||
TitleList.Title.21=SetBPXOptions/bptype
|
||||
TitleList.Level.21=2
|
||||
TitleList.Url.21=SetHardwareBreakpoint_bph_bphws.htm
|
||||
TitleList.Url.21=SetBPXOptions_bptype.htm
|
||||
TitleList.Icon.21=0
|
||||
TitleList.Status.21=0
|
||||
TitleList.Keywords.21=
|
||||
TitleList.ContextNumber.21=1030
|
||||
TitleList.ContextNumber.21=1018
|
||||
TitleList.ApplyTemp.21=0
|
||||
TitleList.Expanded.21=0
|
||||
TitleList.Kind.21=0
|
||||
TitleList.Title.22=SetMemoryBPX/membp/bpm
|
||||
TitleList.Title.22=SetBPX/bp/bpx
|
||||
TitleList.Level.22=2
|
||||
TitleList.Url.22=SetMemoryBPX_membp_bpm.htm
|
||||
TitleList.Url.22=SetBPX_bp_bpx.htm
|
||||
TitleList.Icon.22=0
|
||||
TitleList.Status.22=0
|
||||
TitleList.Keywords.22=
|
||||
TitleList.ContextNumber.22=1027
|
||||
TitleList.ContextNumber.22=1012
|
||||
TitleList.ApplyTemp.22=0
|
||||
TitleList.Expanded.22=0
|
||||
TitleList.Kind.22=0
|
||||
TitleList.Title.23=DeleteHardwareBreakpoint/bphc/bphwc
|
||||
TitleList.Title.23=DeleteBPX/bpc/bc
|
||||
TitleList.Level.23=2
|
||||
TitleList.Url.23=DeleteHardwareBreakpoint_bphc_bphwc.htm
|
||||
TitleList.Url.23=DeleteBPX_bpc_bc.htm
|
||||
TitleList.Icon.23=0
|
||||
TitleList.Status.23=0
|
||||
TitleList.Keywords.23=
|
||||
TitleList.ContextNumber.23=1048
|
||||
TitleList.ContextNumber.23=1017
|
||||
TitleList.ApplyTemp.23=0
|
||||
TitleList.Expanded.23=0
|
||||
TitleList.Kind.23=0
|
||||
TitleList.Title.24=DeleteMemoryBPX/membpc/bpmc
|
||||
TitleList.Title.24=EnableBPX/bpe/be
|
||||
TitleList.Level.24=2
|
||||
TitleList.Url.24=DeleteMemoryBPX_membpc_bpmc.htm
|
||||
TitleList.Url.24=EnableBPX_bpe_be.htm
|
||||
TitleList.Icon.24=0
|
||||
TitleList.Status.24=0
|
||||
TitleList.Keywords.24=
|
||||
TitleList.ContextNumber.24=1049
|
||||
TitleList.ContextNumber.24=1014
|
||||
TitleList.ApplyTemp.24=0
|
||||
TitleList.Expanded.24=0
|
||||
TitleList.Kind.24=0
|
||||
TitleList.Title.25=Variables
|
||||
TitleList.Level.25=1
|
||||
TitleList.Url.25=Variables_section.htm
|
||||
TitleList.Title.25=DisableBPX/bpd/bd
|
||||
TitleList.Level.25=2
|
||||
TitleList.Url.25=DisableBPX_bpd_bd.htm
|
||||
TitleList.Icon.25=0
|
||||
TitleList.Status.25=0
|
||||
TitleList.Keywords.25=
|
||||
TitleList.ContextNumber.25=1041
|
||||
TitleList.ContextNumber.25=1016
|
||||
TitleList.ApplyTemp.25=0
|
||||
TitleList.Expanded.25=0
|
||||
TitleList.Kind.25=0
|
||||
TitleList.Title.26=var/varnew
|
||||
TitleList.Title.26=SetHardwareBreakpoint/bph/bphws
|
||||
TitleList.Level.26=2
|
||||
TitleList.Url.26=var_varnew.htm
|
||||
TitleList.Url.26=SetHardwareBreakpoint_bph_bphws.htm
|
||||
TitleList.Icon.26=0
|
||||
TitleList.Status.26=0
|
||||
TitleList.Keywords.26=
|
||||
TitleList.ContextNumber.26=1006
|
||||
TitleList.ContextNumber.26=1030
|
||||
TitleList.ApplyTemp.26=0
|
||||
TitleList.Expanded.26=0
|
||||
TitleList.Kind.26=0
|
||||
TitleList.Title.27=vardel
|
||||
TitleList.Title.27=SetMemoryBPX/membp/bpm
|
||||
TitleList.Level.27=2
|
||||
TitleList.Url.27=vardel.htm
|
||||
TitleList.Url.27=SetMemoryBPX_membp_bpm.htm
|
||||
TitleList.Icon.27=0
|
||||
TitleList.Status.27=0
|
||||
TitleList.Keywords.27=
|
||||
TitleList.ContextNumber.27=1007
|
||||
TitleList.ContextNumber.27=1027
|
||||
TitleList.ApplyTemp.27=0
|
||||
TitleList.Expanded.27=0
|
||||
TitleList.Kind.27=0
|
||||
TitleList.Title.28=varlist
|
||||
TitleList.Title.28=DeleteHardwareBreakpoint/bphc/bphwc
|
||||
TitleList.Level.28=2
|
||||
TitleList.Url.28=varlist.htm
|
||||
TitleList.Url.28=DeleteHardwareBreakpoint_bphc_bphwc.htm
|
||||
TitleList.Icon.28=0
|
||||
TitleList.Status.28=0
|
||||
TitleList.Keywords.28=
|
||||
TitleList.ContextNumber.28=1010
|
||||
TitleList.ContextNumber.28=1048
|
||||
TitleList.ApplyTemp.28=0
|
||||
TitleList.Expanded.28=0
|
||||
TitleList.Kind.28=0
|
||||
TitleList.Title.29=mov/set
|
||||
TitleList.Title.29=DeleteMemoryBPX/membpc/bpmc
|
||||
TitleList.Level.29=2
|
||||
TitleList.Url.29=mov_set.htm
|
||||
TitleList.Url.29=DeleteMemoryBPX_membpc_bpmc.htm
|
||||
TitleList.Icon.29=0
|
||||
TitleList.Status.29=0
|
||||
TitleList.Keywords.29=
|
||||
TitleList.ContextNumber.29=1008
|
||||
TitleList.ContextNumber.29=1049
|
||||
TitleList.ApplyTemp.29=0
|
||||
TitleList.Expanded.29=0
|
||||
TitleList.Kind.29=0
|
||||
TitleList.Title.30=Misc
|
||||
TitleList.Title.30=Variables
|
||||
TitleList.Level.30=1
|
||||
TitleList.Url.30=Misc.htm
|
||||
TitleList.Url.30=Variables_section.htm
|
||||
TitleList.Icon.30=0
|
||||
TitleList.Status.30=0
|
||||
TitleList.Keywords.30=
|
||||
TitleList.ContextNumber.30=1004
|
||||
TitleList.ContextNumber.30=1041
|
||||
TitleList.ApplyTemp.30=0
|
||||
TitleList.Expanded.30=0
|
||||
TitleList.Kind.30=0
|
||||
TitleList.Title.31=strlen/charcount/ccount
|
||||
TitleList.Title.31=var/varnew
|
||||
TitleList.Level.31=2
|
||||
TitleList.Url.31=strlen_charcount_ccount.htm
|
||||
TitleList.Url.31=var_varnew.htm
|
||||
TitleList.Icon.31=0
|
||||
TitleList.Status.31=0
|
||||
TitleList.Keywords.31=
|
||||
TitleList.ContextNumber.31=1005
|
||||
TitleList.ContextNumber.31=1006
|
||||
TitleList.ApplyTemp.31=0
|
||||
TitleList.Expanded.31=0
|
||||
TitleList.Kind.31=0
|
||||
TitleList.Title.32=cls/lc/lclr
|
||||
TitleList.Title.32=vardel
|
||||
TitleList.Level.32=2
|
||||
TitleList.Url.32=cls.htm
|
||||
TitleList.Url.32=vardel.htm
|
||||
TitleList.Icon.32=0
|
||||
TitleList.Status.32=0
|
||||
TitleList.Keywords.32=
|
||||
TitleList.ContextNumber.32=1009
|
||||
TitleList.ContextNumber.32=1007
|
||||
TitleList.ApplyTemp.32=0
|
||||
TitleList.Expanded.32=0
|
||||
TitleList.Kind.32=0
|
||||
TitleList.Title.33=chd
|
||||
TitleList.Title.33=varlist
|
||||
TitleList.Level.33=2
|
||||
TitleList.Url.33=chd.htm
|
||||
TitleList.Url.33=varlist.htm
|
||||
TitleList.Icon.33=0
|
||||
TitleList.Status.33=0
|
||||
TitleList.Keywords.33=
|
||||
TitleList.ContextNumber.33=1029
|
||||
TitleList.ContextNumber.33=1010
|
||||
TitleList.ApplyTemp.33=0
|
||||
TitleList.Expanded.33=0
|
||||
TitleList.Kind.33=0
|
||||
TitleList.Title.34=disasm/dis/d
|
||||
TitleList.Title.34=mov/set
|
||||
TitleList.Level.34=2
|
||||
TitleList.Url.34=disasm_dis_d.htm
|
||||
TitleList.Url.34=mov_set.htm
|
||||
TitleList.Icon.34=0
|
||||
TitleList.Status.34=0
|
||||
TitleList.Keywords.34=
|
||||
TitleList.ContextNumber.34=1026
|
||||
TitleList.ContextNumber.34=1008
|
||||
TitleList.ApplyTemp.34=0
|
||||
TitleList.Expanded.34=0
|
||||
TitleList.Kind.34=0
|
||||
TitleList.Title.35=HideDebugger/dbh/hide
|
||||
TitleList.Level.35=2
|
||||
TitleList.Url.35=HideDebugger_dbh_hide.htm
|
||||
TitleList.Title.35=Misc
|
||||
TitleList.Level.35=1
|
||||
TitleList.Url.35=Misc.htm
|
||||
TitleList.Icon.35=0
|
||||
TitleList.Status.35=0
|
||||
TitleList.Keywords.35=
|
||||
TitleList.ContextNumber.35=1025
|
||||
TitleList.ContextNumber.35=1004
|
||||
TitleList.ApplyTemp.35=0
|
||||
TitleList.Expanded.35=0
|
||||
TitleList.Kind.35=0
|
||||
TitleList.Title.36=User Database
|
||||
TitleList.Level.36=1
|
||||
TitleList.Url.36=User_Database.htm
|
||||
TitleList.Title.36=strlen/charcount/ccount
|
||||
TitleList.Level.36=2
|
||||
TitleList.Url.36=strlen_charcount_ccount.htm
|
||||
TitleList.Icon.36=0
|
||||
TitleList.Status.36=0
|
||||
TitleList.Keywords.36=
|
||||
TitleList.ContextNumber.36=1042
|
||||
TitleList.ContextNumber.36=1005
|
||||
TitleList.ApplyTemp.36=0
|
||||
TitleList.Expanded.36=1
|
||||
TitleList.Expanded.36=0
|
||||
TitleList.Kind.36=0
|
||||
TitleList.Title.37=cmt/cmtset/commentset
|
||||
TitleList.Title.37=cls/lc/lclr
|
||||
TitleList.Level.37=2
|
||||
TitleList.Url.37=cmt_cmtset_commentset.htm
|
||||
TitleList.Url.37=cls.htm
|
||||
TitleList.Icon.37=0
|
||||
TitleList.Status.37=0
|
||||
TitleList.Keywords.37=
|
||||
TitleList.ContextNumber.37=1035
|
||||
TitleList.ContextNumber.37=1009
|
||||
TitleList.ApplyTemp.37=0
|
||||
TitleList.Expanded.37=0
|
||||
TitleList.Kind.37=0
|
||||
TitleList.Title.38=cmtc/cmtdel/commentdel
|
||||
TitleList.Title.38=chd
|
||||
TitleList.Level.38=2
|
||||
TitleList.Url.38=cmtc_cmtdel_commentdel.htm
|
||||
TitleList.Url.38=chd.htm
|
||||
TitleList.Icon.38=0
|
||||
TitleList.Status.38=0
|
||||
TitleList.Keywords.38=
|
||||
TitleList.ContextNumber.38=1036
|
||||
TitleList.ContextNumber.38=1029
|
||||
TitleList.ApplyTemp.38=0
|
||||
TitleList.Expanded.38=0
|
||||
TitleList.Kind.38=0
|
||||
TitleList.Title.39=lbl/lblset/labelset
|
||||
TitleList.Title.39=disasm/dis/d
|
||||
TitleList.Level.39=2
|
||||
TitleList.Url.39=lbl_lblset_labelset.htm
|
||||
TitleList.Url.39=disasm_dis_d.htm
|
||||
TitleList.Icon.39=0
|
||||
TitleList.Status.39=0
|
||||
TitleList.Keywords.39=
|
||||
TitleList.ContextNumber.39=1037
|
||||
TitleList.ContextNumber.39=1026
|
||||
TitleList.ApplyTemp.39=0
|
||||
TitleList.Expanded.39=0
|
||||
TitleList.Kind.39=0
|
||||
TitleList.Title.40=lblc/lbldel/labeldel
|
||||
TitleList.Title.40=HideDebugger/dbh/hide
|
||||
TitleList.Level.40=2
|
||||
TitleList.Url.40=lblc_lbldel_labeldel.htm
|
||||
TitleList.Url.40=HideDebugger_dbh_hide.htm
|
||||
TitleList.Icon.40=0
|
||||
TitleList.Status.40=0
|
||||
TitleList.Keywords.40=
|
||||
TitleList.ContextNumber.40=1038
|
||||
TitleList.ContextNumber.40=1025
|
||||
TitleList.ApplyTemp.40=0
|
||||
TitleList.Expanded.40=0
|
||||
TitleList.Kind.40=0
|
||||
TitleList.Title.41=savedb/dbsave
|
||||
TitleList.Level.41=2
|
||||
TitleList.Url.41=savedb_dbsave.htm
|
||||
TitleList.Title.41=User Database
|
||||
TitleList.Level.41=1
|
||||
TitleList.Url.41=User_Database.htm
|
||||
TitleList.Icon.41=0
|
||||
TitleList.Status.41=0
|
||||
TitleList.Keywords.41=
|
||||
TitleList.ContextNumber.41=1034
|
||||
TitleList.ContextNumber.41=1042
|
||||
TitleList.ApplyTemp.41=0
|
||||
TitleList.Expanded.41=0
|
||||
TitleList.Kind.41=0
|
||||
TitleList.Title.42=loaddb/dbload
|
||||
TitleList.Title.42=cmt/cmtset/commentset
|
||||
TitleList.Level.42=2
|
||||
TitleList.Url.42=loaddb_dbload.htm
|
||||
TitleList.Url.42=cmt_cmtset_commentset.htm
|
||||
TitleList.Icon.42=0
|
||||
TitleList.Status.42=0
|
||||
TitleList.Keywords.42=
|
||||
TitleList.ContextNumber.42=1039
|
||||
TitleList.ContextNumber.42=1035
|
||||
TitleList.ApplyTemp.42=0
|
||||
TitleList.Expanded.42=0
|
||||
TitleList.Kind.42=0
|
||||
TitleList.Title.43=functionadd/func
|
||||
TitleList.Title.43=cmtc/cmtdel/commentdel
|
||||
TitleList.Level.43=2
|
||||
TitleList.Url.43=functionadd_func.htm
|
||||
TitleList.Url.43=cmtc_cmtdel_commentdel.htm
|
||||
TitleList.Icon.43=0
|
||||
TitleList.Status.43=0
|
||||
TitleList.Keywords.43=
|
||||
TitleList.ContextNumber.43=1062
|
||||
TitleList.ContextNumber.43=1036
|
||||
TitleList.ApplyTemp.43=0
|
||||
TitleList.Expanded.43=0
|
||||
TitleList.Kind.43=0
|
||||
TitleList.Title.44=functiondel/funcc
|
||||
TitleList.Title.44=lbl/lblset/labelset
|
||||
TitleList.Level.44=2
|
||||
TitleList.Url.44=functiondel_funcc.htm
|
||||
TitleList.Url.44=lbl_lblset_labelset.htm
|
||||
TitleList.Icon.44=0
|
||||
TitleList.Status.44=0
|
||||
TitleList.Keywords.44=
|
||||
TitleList.ContextNumber.44=1063
|
||||
TitleList.ContextNumber.44=1037
|
||||
TitleList.ApplyTemp.44=0
|
||||
TitleList.Expanded.44=0
|
||||
TitleList.Kind.44=0
|
||||
TitleList.Title.45=Memory Operations
|
||||
TitleList.Level.45=1
|
||||
TitleList.Url.45=Memory_Operations.htm
|
||||
TitleList.Title.45=lblc/lbldel/labeldel
|
||||
TitleList.Level.45=2
|
||||
TitleList.Url.45=lblc_lbldel_labeldel.htm
|
||||
TitleList.Icon.45=0
|
||||
TitleList.Status.45=0
|
||||
TitleList.Keywords.45=
|
||||
TitleList.ContextNumber.45=1043
|
||||
TitleList.ContextNumber.45=1038
|
||||
TitleList.ApplyTemp.45=0
|
||||
TitleList.Expanded.45=0
|
||||
TitleList.Kind.45=0
|
||||
TitleList.Title.46=alloc
|
||||
TitleList.Title.46=savedb/dbsave
|
||||
TitleList.Level.46=2
|
||||
TitleList.Url.46=alloc.htm
|
||||
TitleList.Url.46=savedb_dbsave.htm
|
||||
TitleList.Icon.46=0
|
||||
TitleList.Status.46=0
|
||||
TitleList.Keywords.46=
|
||||
TitleList.ContextNumber.46=1032
|
||||
TitleList.ContextNumber.46=1034
|
||||
TitleList.ApplyTemp.46=0
|
||||
TitleList.Expanded.46=0
|
||||
TitleList.Kind.46=0
|
||||
TitleList.Title.47=free
|
||||
TitleList.Title.47=loaddb/dbload
|
||||
TitleList.Level.47=2
|
||||
TitleList.Url.47=free.htm
|
||||
TitleList.Url.47=loaddb_dbload.htm
|
||||
TitleList.Icon.47=0
|
||||
TitleList.Status.47=0
|
||||
TitleList.Keywords.47=
|
||||
TitleList.ContextNumber.47=1031
|
||||
TitleList.ContextNumber.47=1039
|
||||
TitleList.ApplyTemp.47=0
|
||||
TitleList.Expanded.47=0
|
||||
TitleList.Kind.47=0
|
||||
TitleList.Title.48=Fill/memset
|
||||
TitleList.Title.48=functionadd/func
|
||||
TitleList.Level.48=2
|
||||
TitleList.Url.48=Fill_memset.htm
|
||||
TitleList.Url.48=functionadd_func.htm
|
||||
TitleList.Icon.48=0
|
||||
TitleList.Status.48=0
|
||||
TitleList.Keywords.48=
|
||||
TitleList.ContextNumber.48=1033
|
||||
TitleList.ContextNumber.48=1062
|
||||
TitleList.ApplyTemp.48=0
|
||||
TitleList.Expanded.48=0
|
||||
TitleList.Kind.48=0
|
||||
TitleList.Title.49=Plugins
|
||||
TitleList.Level.49=1
|
||||
TitleList.Url.49=Plugins_section.htm
|
||||
TitleList.Title.49=functiondel/funcc
|
||||
TitleList.Level.49=2
|
||||
TitleList.Url.49=functiondel_funcc.htm
|
||||
TitleList.Icon.49=0
|
||||
TitleList.Status.49=0
|
||||
TitleList.Keywords.49=
|
||||
TitleList.ContextNumber.49=1046
|
||||
TitleList.ContextNumber.49=1063
|
||||
TitleList.ApplyTemp.49=0
|
||||
TitleList.Expanded.49=0
|
||||
TitleList.Kind.49=0
|
||||
TitleList.Title.50=StartScylla/scylla/imprec
|
||||
TitleList.Level.50=2
|
||||
TitleList.Url.50=StartScylla_scylla_imprec.htm
|
||||
TitleList.Title.50=Memory Operations
|
||||
TitleList.Level.50=1
|
||||
TitleList.Url.50=Memory_Operations.htm
|
||||
TitleList.Icon.50=0
|
||||
TitleList.Status.50=0
|
||||
TitleList.Keywords.50=
|
||||
TitleList.ContextNumber.50=1047
|
||||
TitleList.ContextNumber.50=1043
|
||||
TitleList.ApplyTemp.50=0
|
||||
TitleList.Expanded.50=0
|
||||
TitleList.Kind.50=0
|
||||
TitleList.Title.51=Plugins
|
||||
TitleList.Level.51=0
|
||||
TitleList.Url.51=Plugins.htm
|
||||
TitleList.Title.51=alloc
|
||||
TitleList.Level.51=2
|
||||
TitleList.Url.51=alloc.htm
|
||||
TitleList.Icon.51=0
|
||||
TitleList.Status.51=0
|
||||
TitleList.Keywords.51=
|
||||
TitleList.ContextNumber.51=1050
|
||||
TitleList.ContextNumber.51=1032
|
||||
TitleList.ApplyTemp.51=0
|
||||
TitleList.Expanded.51=0
|
||||
TitleList.Kind.51=0
|
||||
TitleList.Title.52=Exports
|
||||
TitleList.Level.52=1
|
||||
TitleList.Url.52=Exports.htm
|
||||
TitleList.Title.52=free
|
||||
TitleList.Level.52=2
|
||||
TitleList.Url.52=free.htm
|
||||
TitleList.Icon.52=0
|
||||
TitleList.Status.52=0
|
||||
TitleList.Keywords.52=
|
||||
TitleList.ContextNumber.52=1051
|
||||
TitleList.ContextNumber.52=1031
|
||||
TitleList.ApplyTemp.52=0
|
||||
TitleList.Expanded.52=0
|
||||
TitleList.Kind.52=0
|
||||
TitleList.Title.53=_plugin_registercallback
|
||||
TitleList.Title.53=Fill/memset
|
||||
TitleList.Level.53=2
|
||||
TitleList.Url.53=_plugin_registercallback.htm
|
||||
TitleList.Url.53=Fill_memset.htm
|
||||
TitleList.Icon.53=0
|
||||
TitleList.Status.53=0
|
||||
TitleList.Keywords.53=
|
||||
TitleList.ContextNumber.53=1052
|
||||
TitleList.ContextNumber.53=1033
|
||||
TitleList.ApplyTemp.53=0
|
||||
TitleList.Expanded.53=0
|
||||
TitleList.Kind.53=0
|
||||
TitleList.Title.54=_plugin_unregistercallback
|
||||
TitleList.Level.54=2
|
||||
TitleList.Url.54=_plugin_unregistercallback.htm
|
||||
TitleList.Title.54=Plugins
|
||||
TitleList.Level.54=1
|
||||
TitleList.Url.54=Plugins_section.htm
|
||||
TitleList.Icon.54=0
|
||||
TitleList.Status.54=0
|
||||
TitleList.Keywords.54=
|
||||
TitleList.ContextNumber.54=1053
|
||||
TitleList.ContextNumber.54=1046
|
||||
TitleList.ApplyTemp.54=0
|
||||
TitleList.Expanded.54=0
|
||||
TitleList.Kind.54=0
|
||||
TitleList.Title.55=_plugin_registercommand
|
||||
TitleList.Title.55=StartScylla/scylla/imprec
|
||||
TitleList.Level.55=2
|
||||
TitleList.Url.55=_plugin_registercommand.htm
|
||||
TitleList.Url.55=StartScylla_scylla_imprec.htm
|
||||
TitleList.Icon.55=0
|
||||
TitleList.Status.55=0
|
||||
TitleList.Keywords.55=
|
||||
TitleList.ContextNumber.55=1054
|
||||
TitleList.ContextNumber.55=1047
|
||||
TitleList.ApplyTemp.55=0
|
||||
TitleList.Expanded.55=0
|
||||
TitleList.Kind.55=0
|
||||
TitleList.Title.56=_plugin_unregistercommand
|
||||
TitleList.Level.56=2
|
||||
TitleList.Url.56=_plugin_unregistercommand.htm
|
||||
TitleList.Title.56=Plugins
|
||||
TitleList.Level.56=0
|
||||
TitleList.Url.56=Plugins.htm
|
||||
TitleList.Icon.56=0
|
||||
TitleList.Status.56=0
|
||||
TitleList.Keywords.56=
|
||||
TitleList.ContextNumber.56=1055
|
||||
TitleList.ContextNumber.56=1050
|
||||
TitleList.ApplyTemp.56=0
|
||||
TitleList.Expanded.56=0
|
||||
TitleList.Kind.56=0
|
||||
TitleList.Title.57=_plugin_logprintf
|
||||
TitleList.Level.57=2
|
||||
TitleList.Url.57=
|
||||
TitleList.Title.57=Exports
|
||||
TitleList.Level.57=1
|
||||
TitleList.Url.57=Exports.htm
|
||||
TitleList.Icon.57=0
|
||||
TitleList.Status.57=1
|
||||
TitleList.Status.57=0
|
||||
TitleList.Keywords.57=
|
||||
TitleList.ContextNumber.57=1056
|
||||
TitleList.ContextNumber.57=1051
|
||||
TitleList.ApplyTemp.57=0
|
||||
TitleList.Expanded.57=0
|
||||
TitleList.Kind.57=0
|
||||
TitleList.Title.58=_plugin_logputs
|
||||
TitleList.Title.58=_plugin_registercallback
|
||||
TitleList.Level.58=2
|
||||
TitleList.Url.58=
|
||||
TitleList.Url.58=_plugin_registercallback.htm
|
||||
TitleList.Icon.58=0
|
||||
TitleList.Status.58=1
|
||||
TitleList.Status.58=0
|
||||
TitleList.Keywords.58=
|
||||
TitleList.ContextNumber.58=1057
|
||||
TitleList.ContextNumber.58=1052
|
||||
TitleList.ApplyTemp.58=0
|
||||
TitleList.Expanded.58=0
|
||||
TitleList.Kind.58=0
|
||||
TitleList.Title.59=_plugin_debugpause
|
||||
TitleList.Title.59=_plugin_unregistercallback
|
||||
TitleList.Level.59=2
|
||||
TitleList.Url.59=
|
||||
TitleList.Url.59=_plugin_unregistercallback.htm
|
||||
TitleList.Icon.59=0
|
||||
TitleList.Status.59=1
|
||||
TitleList.Status.59=0
|
||||
TitleList.Keywords.59=
|
||||
TitleList.ContextNumber.59=1058
|
||||
TitleList.ContextNumber.59=1053
|
||||
TitleList.ApplyTemp.59=0
|
||||
TitleList.Expanded.59=0
|
||||
TitleList.Kind.59=0
|
||||
TitleList.Title.60=Structures
|
||||
TitleList.Level.60=1
|
||||
TitleList.Url.60=Structures.htm
|
||||
TitleList.Title.60=_plugin_registercommand
|
||||
TitleList.Level.60=2
|
||||
TitleList.Url.60=_plugin_registercommand.htm
|
||||
TitleList.Icon.60=0
|
||||
TitleList.Status.60=0
|
||||
TitleList.Keywords.60=
|
||||
TitleList.ContextNumber.60=1059
|
||||
TitleList.ContextNumber.60=1054
|
||||
TitleList.ApplyTemp.60=0
|
||||
TitleList.Expanded.60=0
|
||||
TitleList.Kind.60=0
|
||||
TitleList.Title.61=Callbacks
|
||||
TitleList.Title.61=_plugin_unregistercommand
|
||||
TitleList.Level.61=2
|
||||
TitleList.Url.61=Callbacks.htm
|
||||
TitleList.Url.61=_plugin_unregistercommand.htm
|
||||
TitleList.Icon.61=0
|
||||
TitleList.Status.61=0
|
||||
TitleList.Keywords.61=
|
||||
TitleList.ContextNumber.61=1060
|
||||
TitleList.ContextNumber.61=1055
|
||||
TitleList.ApplyTemp.61=0
|
||||
TitleList.Expanded.61=0
|
||||
TitleList.Kind.61=0
|
||||
TitleList.Title.62=PLUG_INITSTRUCT
|
||||
TitleList.Title.62=_plugin_logprintf
|
||||
TitleList.Level.62=2
|
||||
TitleList.Url.62=PLUGINIT_STRUCT.htm
|
||||
TitleList.Url.62=
|
||||
TitleList.Icon.62=0
|
||||
TitleList.Status.62=0
|
||||
TitleList.Status.62=1
|
||||
TitleList.Keywords.62=
|
||||
TitleList.ContextNumber.62=1061
|
||||
TitleList.ContextNumber.62=1056
|
||||
TitleList.ApplyTemp.62=0
|
||||
TitleList.Expanded.62=0
|
||||
TitleList.Kind.62=0
|
||||
TitleList.Title.63=Special Thanks
|
||||
TitleList.Level.63=0
|
||||
TitleList.Url.63=Special_Thanks.htm
|
||||
TitleList.Title.63=_plugin_logputs
|
||||
TitleList.Level.63=2
|
||||
TitleList.Url.63=
|
||||
TitleList.Icon.63=0
|
||||
TitleList.Status.63=0
|
||||
TitleList.Status.63=1
|
||||
TitleList.Keywords.63=
|
||||
TitleList.ContextNumber.63=1024
|
||||
TitleList.ContextNumber.63=1057
|
||||
TitleList.ApplyTemp.63=0
|
||||
TitleList.Expanded.63=0
|
||||
TitleList.Kind.63=0
|
||||
TitleList.Title.64=Fixed Top Style
|
||||
TitleList.Level.64=0
|
||||
TitleList.Url.64=template\fixedtop.htm
|
||||
TitleList.Title.64=_plugin_debugpause
|
||||
TitleList.Level.64=2
|
||||
TitleList.Url.64=
|
||||
TitleList.Icon.64=0
|
||||
TitleList.Status.64=0
|
||||
TitleList.Status.64=1
|
||||
TitleList.Keywords.64=
|
||||
TitleList.ContextNumber.64=
|
||||
TitleList.ContextNumber.64=1058
|
||||
TitleList.ApplyTemp.64=0
|
||||
TitleList.Expanded.64=0
|
||||
TitleList.Kind.64=2
|
||||
TitleList.Kind.64=0
|
||||
TitleList.Title.65=Structures
|
||||
TitleList.Level.65=1
|
||||
TitleList.Url.65=Structures.htm
|
||||
TitleList.Icon.65=0
|
||||
TitleList.Status.65=0
|
||||
TitleList.Keywords.65=
|
||||
TitleList.ContextNumber.65=1059
|
||||
TitleList.ApplyTemp.65=0
|
||||
TitleList.Expanded.65=0
|
||||
TitleList.Kind.65=0
|
||||
TitleList.Title.66=Callbacks
|
||||
TitleList.Level.66=2
|
||||
TitleList.Url.66=Callbacks.htm
|
||||
TitleList.Icon.66=0
|
||||
TitleList.Status.66=0
|
||||
TitleList.Keywords.66=
|
||||
TitleList.ContextNumber.66=1060
|
||||
TitleList.ApplyTemp.66=0
|
||||
TitleList.Expanded.66=0
|
||||
TitleList.Kind.66=0
|
||||
TitleList.Title.67=PLUG_INITSTRUCT
|
||||
TitleList.Level.67=2
|
||||
TitleList.Url.67=PLUGINIT_STRUCT.htm
|
||||
TitleList.Icon.67=0
|
||||
TitleList.Status.67=0
|
||||
TitleList.Keywords.67=
|
||||
TitleList.ContextNumber.67=1061
|
||||
TitleList.ApplyTemp.67=0
|
||||
TitleList.Expanded.67=0
|
||||
TitleList.Kind.67=0
|
||||
TitleList.Title.68=Special Thanks
|
||||
TitleList.Level.68=0
|
||||
TitleList.Url.68=Special_Thanks.htm
|
||||
TitleList.Icon.68=0
|
||||
TitleList.Status.68=0
|
||||
TitleList.Keywords.68=
|
||||
TitleList.ContextNumber.68=1024
|
||||
TitleList.ApplyTemp.68=0
|
||||
TitleList.Expanded.68=0
|
||||
TitleList.Kind.68=0
|
||||
TitleList.Title.69=Fixed Top Style
|
||||
TitleList.Level.69=0
|
||||
TitleList.Url.69=template\fixedtop.htm
|
||||
TitleList.Icon.69=0
|
||||
TitleList.Status.69=0
|
||||
TitleList.Keywords.69=
|
||||
TitleList.ContextNumber.69=
|
||||
TitleList.ApplyTemp.69=0
|
||||
TitleList.Expanded.69=0
|
||||
TitleList.Kind.69=2
|
||||
|
||||
|
@ -19,12 +19,10 @@
|
||||
- set pe data in memory
|
||||
- va to offset
|
||||
- offset to va
|
||||
- getapiname
|
||||
- float calculations
|
||||
- command help
|
||||
- inject asm code
|
||||
- and or xor commands
|
||||
- analysis
|
||||
- getlasterror
|
||||
- display open handles
|
||||
- step to user code
|
||||
@ -46,7 +44,6 @@
|
||||
- TEB/TBI
|
||||
- PEB/PBI
|
||||
- cpu thread id
|
||||
- shift+f7f8f9
|
||||
- log breakpoints
|
||||
- fix memory breakpoints
|
||||
- membp in memmap
|
||||
@ -56,9 +53,6 @@
|
||||
- restore window position (BridgeSetting)
|
||||
- follow in dump
|
||||
- opcode byte split
|
||||
- middle mouse click = copy addr/bytes/disasm
|
||||
- DOS name fix in Qt browse dialog
|
||||
- abstractTable column names
|
||||
- stack window(!)
|
||||
- dump window(!!!)
|
||||
- tabbed GUI (workspace+dragable windows)
|
||||
@ -68,7 +62,6 @@
|
||||
- show export table
|
||||
- find all intermodular calls
|
||||
- highlight register changes (only when CIP changed also)
|
||||
- PAGE UP + PAGE DOWN keys in disasm
|
||||
- 'dead' bytes custom analysis
|
||||
- loops lines database for analysis
|
||||
- enable/disable hw+mem breakpoint
|
@ -44,5 +44,11 @@ PLUG_IMPEXP void _plugin_debugpause()
|
||||
DebugUpdateGui(GetContextData(UE_CIP));
|
||||
GuiSetDebugState(paused);
|
||||
lock(WAITID_RUN);
|
||||
dbgsetskipexceptions(false);
|
||||
wait(WAITID_RUN);
|
||||
}
|
||||
|
||||
PLUG_IMPEXP void _plugin_debugskipexceptions(bool skip)
|
||||
{
|
||||
dbgsetskipexceptions(skip);
|
||||
}
|
||||
|
@ -156,6 +156,7 @@ PLUG_IMPEXP bool _plugin_unregistercommand(int pluginHandle, const char* command
|
||||
PLUG_IMPEXP void _plugin_logprintf(const char* format, ...);
|
||||
PLUG_IMPEXP void _plugin_logputs(const char* text);
|
||||
PLUG_IMPEXP void _plugin_debugpause();
|
||||
PLUG_IMPEXP void _plugin_debugskipexceptions(bool skip);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ static bool isStepping=false;
|
||||
static bool isPausedByUser=false;
|
||||
static bool bScyllaLoaded=false;
|
||||
static bool bIsAttached=false;
|
||||
static bool bSkipExceptions=false;
|
||||
static int ecount=0;
|
||||
|
||||
//Superglobal variables
|
||||
@ -62,6 +63,11 @@ bool dbgisrunning()
|
||||
return false;
|
||||
}
|
||||
|
||||
void dbgsetskipexceptions(bool skip)
|
||||
{
|
||||
bSkipExceptions=skip;
|
||||
}
|
||||
|
||||
void DebugUpdateGui(uint disasm_addr)
|
||||
{
|
||||
GuiUpdateAllViews();
|
||||
@ -125,6 +131,7 @@ static void cbUserBreakpoint()
|
||||
GuiSetDebugState(paused);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -157,6 +164,7 @@ static void cbHardwareBreakpoint(void* ExceptionAddress)
|
||||
GuiSetDebugState(paused);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -193,6 +201,7 @@ static void cbMemoryBreakpoint(void* ExceptionAddress)
|
||||
GuiSetDebugState(paused);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -285,6 +294,7 @@ static void cbStep()
|
||||
plugincbcall(CB_STEPPED, &stepInfo);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -297,6 +307,7 @@ static void cbRtrFinalStep()
|
||||
GuiSetDebugState(paused);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -415,6 +426,7 @@ static void cbSystemBreakpoint(void* ExceptionData)
|
||||
GuiSetDebugState(paused);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -500,6 +512,7 @@ static void cbException(EXCEPTION_DEBUG_INFO* ExceptionData)
|
||||
GuiSetDebugState(paused);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -510,23 +523,24 @@ static void cbException(EXCEPTION_DEBUG_INFO* ExceptionData)
|
||||
SetContextData(UE_CIP, (uint)ExceptionData->ExceptionRecord.ExceptionAddress);
|
||||
}
|
||||
|
||||
char msg[1024]="";
|
||||
if(ExceptionData->dwFirstChance) //first chance exception
|
||||
{
|
||||
sprintf(msg, "first chance exception on "fhex" (%.8X)!", addr, ExceptionData->ExceptionRecord.ExceptionCode);
|
||||
dprintf("first chance exception on "fhex" (%.8X)!\n", addr, ExceptionData->ExceptionRecord.ExceptionCode);
|
||||
SetNextDbgContinueStatus(DBG_EXCEPTION_NOT_HANDLED);
|
||||
if(bSkipExceptions)
|
||||
return;
|
||||
}
|
||||
else //lock the exception
|
||||
{
|
||||
sprintf(msg, "last chance exception on "fhex" (%.8X)!", addr, ExceptionData->ExceptionRecord.ExceptionCode);
|
||||
dprintf("last chance exception on "fhex" (%.8X)!\n", addr, ExceptionData->ExceptionRecord.ExceptionCode);
|
||||
SetNextDbgContinueStatus(DBG_CONTINUE);
|
||||
}
|
||||
|
||||
dputs(msg);
|
||||
DebugUpdateGui(GetContextData(UE_CIP));
|
||||
GuiSetDebugState(paused);
|
||||
//lock
|
||||
lock(WAITID_RUN);
|
||||
bSkipExceptions=false;
|
||||
PLUG_CB_PAUSEDEBUG pauseInfo;
|
||||
pauseInfo.reserved=0;
|
||||
plugincbcall(CB_PAUSEDEBUG, &pauseInfo);
|
||||
@ -534,11 +548,11 @@ static void cbException(EXCEPTION_DEBUG_INFO* ExceptionData)
|
||||
wait(WAITID_RUN);
|
||||
}
|
||||
|
||||
|
||||
static DWORD WINAPI threadDebugLoop(void* lpParameter)
|
||||
{
|
||||
//initialize
|
||||
bIsAttached=false;
|
||||
bSkipExceptions=false;
|
||||
INIT_STRUCT* init=(INIT_STRUCT*)lpParameter;
|
||||
bFileIsDll=IsFileDLL(init->exe, 0);
|
||||
pDebuggedEntry=GetPE32Data(init->exe, 0, UE_OEP);
|
||||
@ -703,6 +717,13 @@ CMDRESULT cbDebugRun(int argc, char* argv[])
|
||||
return STATUS_CONTINUE;
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugErun(int argc, char* argv[])
|
||||
{
|
||||
if(waitislocked(WAITID_RUN))
|
||||
bSkipExceptions=true;
|
||||
return cbDebugRun(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugSetBPXOptions(int argc, char* argv[])
|
||||
{
|
||||
char argtype[deflen]="";
|
||||
@ -992,6 +1013,12 @@ CMDRESULT cbDebugStepInto(int argc, char* argv[])
|
||||
return cbDebugRun(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugeStepInto(int argc, char* argv[])
|
||||
{
|
||||
bSkipExceptions=true;
|
||||
return cbDebugStepInto(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugStepOver(int argc, char* argv[])
|
||||
{
|
||||
StepOver((void*)cbStep);
|
||||
@ -999,6 +1026,12 @@ CMDRESULT cbDebugStepOver(int argc, char* argv[])
|
||||
return cbDebugRun(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugeStepOver(int argc, char* argv[])
|
||||
{
|
||||
bSkipExceptions=true;
|
||||
return cbDebugStepOver(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugSingleStep(int argc, char* argv[])
|
||||
{
|
||||
char arg1[deflen]="";
|
||||
@ -1008,12 +1041,17 @@ CMDRESULT cbDebugSingleStep(int argc, char* argv[])
|
||||
if(!valfromstring(arg1, &stepcount, 0, 0, true, 0))
|
||||
stepcount=1;
|
||||
}
|
||||
|
||||
SingleStep((DWORD)stepcount, (void*)cbStep);
|
||||
isStepping=true;
|
||||
return cbDebugRun(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugeSingleStep(int argc, char* argv[])
|
||||
{
|
||||
bSkipExceptions=true;
|
||||
return cbDebugSingleStep(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugHide(int argc, char* argv[])
|
||||
{
|
||||
if(HideDebugger(fdProcessInfo->hProcess, UE_HIDE_BASIC))
|
||||
@ -1161,6 +1199,12 @@ CMDRESULT cbDebugRtr(int argc, char* argv[])
|
||||
return STATUS_CONTINUE;
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugeRtr(int argc, char* argv[])
|
||||
{
|
||||
bSkipExceptions=true;
|
||||
return cbDebugRtr(argc, argv);
|
||||
}
|
||||
|
||||
CMDRESULT cbDebugSetHardwareBreakpoint(int argc, char* argv[])
|
||||
{
|
||||
char arg1[deflen]=""; //addr
|
||||
@ -1463,6 +1507,7 @@ static void cbAttachDebugger()
|
||||
static DWORD WINAPI threadAttachLoop(void* lpParameter)
|
||||
{
|
||||
bIsAttached=true;
|
||||
bSkipExceptions=false;
|
||||
uint pid=(uint)lpParameter;
|
||||
static PROCESS_INFORMATION pi_attached;
|
||||
fdProcessInfo=&pi_attached;
|
||||
|
@ -19,10 +19,12 @@ void dbgdisablebpx();
|
||||
void dbgenablebpx();
|
||||
bool dbgisrunning();
|
||||
void DebugUpdateGui(uint disasm_addr);
|
||||
void dbgsetskipexceptions(bool skip);
|
||||
//callbacks
|
||||
CMDRESULT cbDebugInit(int argc, char* argv[]);
|
||||
CMDRESULT cbStopDebug(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugRun(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugErun(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugSetBPXOptions(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugSetBPX(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugDeleteBPX(int argc, char* argv[]);
|
||||
@ -30,12 +32,16 @@ CMDRESULT cbDebugEnableBPX(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugDisableBPX(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugBplist(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugStepInto(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugeStepInto(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugStepOver(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugeStepOver(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugSingleStep(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugeSingleStep(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugHide(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugDisasm(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugSetMemoryBpx(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugRtr(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugeRtr(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugSetHardwareBreakpoint(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugAlloc(int argc, char* argv[]);
|
||||
CMDRESULT cbDebugFree(int argc, char* argv[]);
|
||||
|
@ -984,13 +984,21 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print
|
||||
uint addrfound[256];
|
||||
int found=0;
|
||||
int kernelbase=-1;
|
||||
if(EnumProcessModules(fdProcessInfo->hProcess, hMods, sizeof(hMods), &cbNeeded))
|
||||
|
||||
//explicit API handling
|
||||
const char* apiname=strstr(name, ":");
|
||||
if(apiname)
|
||||
{
|
||||
for(unsigned int i=0; i<(cbNeeded/sizeof(HMODULE)); i++)
|
||||
char modname[MAX_MODULE_SIZE]="";
|
||||
strcpy(modname, name);
|
||||
modname[apiname-name]=0;
|
||||
apiname++;
|
||||
uint modbase=modbasefromname(modname);
|
||||
char szModName[MAX_PATH];
|
||||
if(!GetModuleFileNameEx(fdProcessInfo->hProcess, (HMODULE)modbase, szModName, MAX_PATH) and !silent)
|
||||
dprintf("could not get filename of module "fhex"\n", modbase);
|
||||
else
|
||||
{
|
||||
char szModName[MAX_PATH];
|
||||
if(!GetModuleFileNameEx(fdProcessInfo->hProcess, hMods[i], szModName, MAX_PATH) and !silent)
|
||||
dprintf("could not get filename of module "fhex"\n", hMods[i]);
|
||||
char szBaseName[256]="";
|
||||
int len=strlen(szModName);
|
||||
while(szModName[len]!='\\')
|
||||
@ -999,14 +1007,51 @@ bool valapifromstring(const char* name, uint* value, int* value_size, bool print
|
||||
HMODULE mod=LoadLibraryExA(szModName, 0, DONT_RESOLVE_DLL_REFERENCES|LOAD_LIBRARY_AS_DATAFILE);
|
||||
if(!mod and !silent)
|
||||
dprintf("unable to load library %s\n", szBaseName);
|
||||
uint addr=(uint)GetProcAddress(mod, name);
|
||||
FreeLibrary(mod);
|
||||
if(addr)
|
||||
else
|
||||
{
|
||||
if(!_stricmp(szBaseName, "kernelbase") or !_stricmp(szBaseName, "kernelbase.dll"))
|
||||
kernelbase=found;
|
||||
addrfound[found]=ImporterGetRemoteAPIAddressEx(szBaseName, (char*)name);
|
||||
found++;
|
||||
uint addr=(uint)GetProcAddress(mod, apiname);
|
||||
FreeLibrary(mod);
|
||||
if(addr) //found!
|
||||
{
|
||||
if(value_size)
|
||||
*value_size=sizeof(uint);
|
||||
if(hexonly)
|
||||
*hexonly=true;
|
||||
*value=ImporterGetRemoteAPIAddressEx(szBaseName, (char*)apiname);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(EnumProcessModules(fdProcessInfo->hProcess, hMods, sizeof(hMods), &cbNeeded))
|
||||
{
|
||||
for(unsigned int i=0; i<(cbNeeded/sizeof(HMODULE)); i++)
|
||||
{
|
||||
char szModName[MAX_PATH];
|
||||
if(!GetModuleFileNameEx(fdProcessInfo->hProcess, hMods[i], szModName, MAX_PATH) and !silent)
|
||||
dprintf("could not get filename of module "fhex"\n", hMods[i]);
|
||||
else
|
||||
{
|
||||
char szBaseName[256]="";
|
||||
int len=strlen(szModName);
|
||||
while(szModName[len]!='\\')
|
||||
len--;
|
||||
strcpy(szBaseName, szModName+len+1);
|
||||
HMODULE mod=LoadLibraryExA(szModName, 0, DONT_RESOLVE_DLL_REFERENCES|LOAD_LIBRARY_AS_DATAFILE);
|
||||
if(!mod and !silent)
|
||||
dprintf("unable to load library %s\n", szBaseName);
|
||||
else
|
||||
{
|
||||
uint addr=(uint)GetProcAddress(mod, name);
|
||||
FreeLibrary(mod);
|
||||
if(addr)
|
||||
{
|
||||
if(!_stricmp(szBaseName, "kernelbase") or !_stricmp(szBaseName, "kernelbase.dll"))
|
||||
kernelbase=found;
|
||||
addrfound[found]=ImporterGetRemoteAPIAddressEx(szBaseName, (char*)name);
|
||||
found++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ static void registercommands()
|
||||
cmdnew(cmd, "InitDebug\1init\1initdbg", cbDebugInit, false); //init debugger arg1:exefile,[arg2:commandline]
|
||||
cmdnew(cmd, "StopDebug\1stop\1dbgstop", cbStopDebug, true); //stop debugger
|
||||
cmdnew(cmd, "run\1go\1r\1g", cbDebugRun, true); //unlock WAITID_RUN
|
||||
cmdnew(cmd, "erun\1egun\1er\1eg", cbDebugErun, true); //run + skip first chance exceptions
|
||||
cmdnew(cmd, "SetBPXOptions\1bptype", cbDebugSetBPXOptions, false); //breakpoint type
|
||||
cmdnew(cmd, "SetBPX\1bp\1bpx", cbDebugSetBPX, true); //breakpoint
|
||||
cmdnew(cmd, "DeleteBPX\1bpc\1bc", cbDebugDeleteBPX, true); //breakpoint delete
|
||||
@ -51,13 +52,17 @@ static void registercommands()
|
||||
cmdnew(cmd, "DisableBPX\1bpd\1bd", cbDebugDisableBPX, true); //breakpoint disable
|
||||
cmdnew(cmd, "bplist", cbDebugBplist, true); //breakpoint list
|
||||
cmdnew(cmd, "StepInto\1sti", cbDebugStepInto, true); //StepInto
|
||||
cmdnew(cmd, "eStepInto\1esti", cbDebugeStepInto, true); //StepInto + skip first chance exceptions
|
||||
cmdnew(cmd, "StepOver\1step\1sto\1st", cbDebugStepOver, true); //StepOver
|
||||
cmdnew(cmd, "eStepOver\1estep\1esto\1est", cbDebugeStepOver, true); //StepOver + skip first chance exceptions
|
||||
cmdnew(cmd, "SingleStep\1sstep\1sst", cbDebugSingleStep, true); //SingleStep arg1:count
|
||||
cmdnew(cmd, "eSingleStep\1esstep\1esst", cbDebugeSingleStep, true); //SingleStep arg1:count + skip first chance exceptions
|
||||
cmdnew(cmd, "HideDebugger\1dbh\1hide", cbDebugHide, true); //HideDebugger
|
||||
cmdnew(cmd, "disasm\1dis\1d", cbDebugDisasm, true); //doDisasm
|
||||
cmdnew(cmd, "SetMemoryBPX\1membp\1bpm", cbDebugSetMemoryBpx, true); //SetMemoryBPX
|
||||
cmdnew(cmd, "chd", cbInstrChd, false); //Change directory
|
||||
cmdnew(cmd, "rtr", cbDebugRtr, true); //rtr
|
||||
cmdnew(cmd, "StepOut\1rtr", cbDebugRtr, true); //rtr
|
||||
cmdnew(cmd, "eStepOut\1ertr", cbDebugeRtr, true); //rtr + skip first chance exceptions
|
||||
cmdnew(cmd, "SetHardwareBreakpoint\1bph\1bphws", cbDebugSetHardwareBreakpoint, true); //hardware breakpoint
|
||||
cmdnew(cmd, "alloc", cbDebugAlloc, true); //allocate memory
|
||||
cmdnew(cmd, "free", cbDebugFree, true); //free memory
|
||||
|
@ -416,6 +416,14 @@ void AbstractTableView::keyPressEvent(QKeyEvent* event)
|
||||
{
|
||||
verticalScrollBar()->triggerAction(QAbstractSlider::SliderSingleStepAdd);
|
||||
}
|
||||
else if(wKey == Qt::Key_PageUp)
|
||||
{
|
||||
verticalScrollBar()->triggerAction(QAbstractSlider::SliderPageStepSub);
|
||||
}
|
||||
else if(wKey == Qt::Key_PageDown)
|
||||
{
|
||||
verticalScrollBar()->triggerAction(QAbstractSlider::SliderPageStepAdd);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -451,10 +459,10 @@ void AbstractTableView::vertSliderActionSlot(int action)
|
||||
wDelta = -1;
|
||||
break;
|
||||
case QAbstractSlider::SliderPageStepAdd:
|
||||
wDelta = 3;
|
||||
wDelta = 30;
|
||||
break;
|
||||
case QAbstractSlider::SliderPageStepSub:
|
||||
wDelta = -3;
|
||||
wDelta = -30;
|
||||
break;
|
||||
case QAbstractSlider::SliderToMinimum:
|
||||
case QAbstractSlider::SliderToMaximum:
|
||||
|
@ -98,6 +98,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
connect(ui->actionScylla,SIGNAL(triggered()),this,SLOT(startScylla()));
|
||||
connect(ui->actionRestart,SIGNAL(triggered()),this,SLOT(restartDebugging()));
|
||||
connect(ui->actionBreakpoints,SIGNAL(triggered()),this,SLOT(displayBreakpointWidget()));
|
||||
|
||||
connect(ui->actioneStepOver,SIGNAL(triggered()),this,SLOT(execeStepOver()));
|
||||
connect(ui->actioneStepInto,SIGNAL(triggered()),this,SLOT(execeStepInto()));
|
||||
connect(ui->actioneRun,SIGNAL(triggered()),this,SLOT(execeRun()));
|
||||
connect(ui->actioneRtr,SIGNAL(triggered()),this,SLOT(execeRtr()));
|
||||
|
||||
connect(Bridge::getBridge(), SIGNAL(updateWindowTitle(QString)), this, SLOT(updateWindowTitleSlot(QString)));
|
||||
connect(Bridge::getBridge(), SIGNAL(updateCPUTitle(QString)), this, SLOT(updateCPUTitleSlot(QString)));
|
||||
|
||||
@ -272,3 +278,22 @@ void MainWindow::updateCPUTitleSlot(QString modname)
|
||||
else
|
||||
mSubWindow->setWindowTitle(QString("CPU"));
|
||||
}
|
||||
|
||||
void MainWindow::execeStepOver()
|
||||
{
|
||||
DbgCmdExec("eStepOver");
|
||||
}
|
||||
|
||||
void MainWindow::execeStepInto()
|
||||
{
|
||||
DbgCmdExec("eStepInto");
|
||||
}
|
||||
void MainWindow::execeRun()
|
||||
{
|
||||
DbgCmdExec("erun");
|
||||
}
|
||||
|
||||
void MainWindow::execeRtr()
|
||||
{
|
||||
DbgCmdExec("ertr");
|
||||
}
|
||||
|
@ -44,6 +44,10 @@ public slots:
|
||||
void displayBreakpointWidget();
|
||||
void updateWindowTitleSlot(QString filename);
|
||||
void updateCPUTitleSlot(QString modname);
|
||||
void execeStepOver();
|
||||
void execeStepInto();
|
||||
void execeRun();
|
||||
void execeRtr();
|
||||
|
||||
private slots:
|
||||
void on_actionGoto_triggered();
|
||||
|
@ -43,13 +43,17 @@
|
||||
<string>Debug</string>
|
||||
</property>
|
||||
<addaction name="actionRun"/>
|
||||
<addaction name="actioneRun"/>
|
||||
<addaction name="actionPause"/>
|
||||
<addaction name="actionRestart"/>
|
||||
<addaction name="actionClose"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionStepInto"/>
|
||||
<addaction name="actioneStepInto"/>
|
||||
<addaction name="actionStepOver"/>
|
||||
<addaction name="actioneStepOver"/>
|
||||
<addaction name="actionRtr"/>
|
||||
<addaction name="actioneRtr"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionCommand"/>
|
||||
</widget>
|
||||
@ -314,6 +318,54 @@
|
||||
<string>Alt+B</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actioneStepInto">
|
||||
<property name="icon">
|
||||
<iconset resource="../../resource.qrc">
|
||||
<normaloff>:/icons/images/arrow-step-into.png</normaloff>:/icons/images/arrow-step-into.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Step into (skip exceptions)</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Shift+F7</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actioneStepOver">
|
||||
<property name="icon">
|
||||
<iconset resource="../../resource.qrc">
|
||||
<normaloff>:/icons/images/arrow-step-over.png</normaloff>:/icons/images/arrow-step-over.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Step over (skip exceptions)</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Shift+F8</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actioneRun">
|
||||
<property name="icon">
|
||||
<iconset resource="../../resource.qrc">
|
||||
<normaloff>:/icons/images/arrow-run.png</normaloff>:/icons/images/arrow-run.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Run (skip exceptions)</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Shift+F9</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actioneRtr">
|
||||
<property name="icon">
|
||||
<iconset resource="../../resource.qrc">
|
||||
<normaloff>:/icons/images/arrow-step-rtr.png</normaloff>:/icons/images/arrow-step-rtr.png</iconset>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Execute till return (skip exceptions)</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Ctrl+Shift+F9</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources>
|
||||
|
Loading…
Reference in New Issue
Block a user