mirror of
https://github.com/x64dbg/docs.git
synced 2026-11-09 21:11:25 -10:00
Compare commits
69
Commits
m2r
...
python27-portable
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e986236b0e | ||
|
|
e7b79c183a | ||
|
|
86669f3186 | ||
|
|
bbe9551fbe | ||
|
|
80543faf55 | ||
|
|
df426b7421 | ||
|
|
262bceb7ef | ||
|
|
a6de960b45 | ||
|
|
fc045ee457 | ||
|
|
fd50f3ec9b | ||
|
|
e63cac698a | ||
|
|
019ab3096d | ||
|
|
323981ff0a | ||
|
|
385f2aee6e | ||
|
|
59138cdc62 | ||
|
|
d4bb877355 | ||
|
|
021794f4d2 | ||
|
|
890d1bc1a9 | ||
|
|
caeb902796 | ||
|
|
cb9f532fe9 | ||
|
|
6e3b1c4ff1 | ||
|
|
bd534ad1df | ||
|
|
f5c845d0c5 | ||
|
|
8a548056d0 | ||
|
|
72d1a09ac9 | ||
|
|
e664937618 | ||
|
|
80e59ec8b3 | ||
|
|
e698e3c258 | ||
|
|
cf49d1e681 | ||
|
|
5fd6e6fb4c | ||
|
|
f0f59ddf9e | ||
|
|
32f7175d60 | ||
|
|
37902765ec | ||
|
|
4d7a6b35bb | ||
|
|
91580d335b | ||
|
|
77a0271b7e | ||
|
|
cbf4c3e6c4 | ||
|
|
ec07d982f1 | ||
|
|
a2d8cccb7f | ||
|
|
558cdecfea | ||
|
|
3534fb423f | ||
|
|
b40c0966aa | ||
|
|
1f47a13948 | ||
|
|
733e5be978 | ||
|
|
b8e0505937 | ||
|
|
9c76e24b90 | ||
|
|
0562c545d1 | ||
|
|
4182877810 | ||
|
|
ad137c9693 | ||
|
|
c02e0af2a8 | ||
|
|
581c1aa90b | ||
|
|
981096945c | ||
|
|
9eed864cff | ||
|
|
3dc0df485b | ||
|
|
72f319a97a | ||
|
|
f46ec9da40 | ||
|
|
e2fa141c3b | ||
|
|
89317d94e0 | ||
|
|
4e2d503f34 | ||
|
|
79bc49de22 | ||
|
|
e0a73707c9 | ||
|
|
edb3ce9f2e | ||
|
|
e842777fa0 | ||
|
|
f0ec1bbbf7 | ||
|
|
788f004ae1 | ||
|
|
8af7925cfb | ||
|
|
9a88d7c5f6 | ||
|
|
26378c8c79 | ||
|
|
dc22e23915 |
No files matched your search
@@ -1,9 +1,9 @@
|
||||
# docs
|
||||
|
||||
Documentation repository for [x64dbg](http://x64dbg.com) at [Read the Docs](https://readthedocs.org/projects/x64dbg).
|
||||
|
||||
## Building
|
||||
|
||||
1. `pip install sphinx recommonmark==0.4.0`
|
||||
2. Add `relpath = relpath.replace(os.path.sep, '/')` to `C:\Python27\Lib\site-packages\recommonmark\transform.py` line `69`
|
||||
3. run `makechm.bat`. It will build the .CHM help file.
|
||||
# docs
|
||||
|
||||
Documentation repository for [x64dbg](http://x64dbg.com) at [Read the Docs](https://readthedocs.org/projects/x64dbg).
|
||||
|
||||
## Building
|
||||
|
||||
1. `pip install sphinx recommonmark==0.4.0 sphinx_rtd_theme==0.2.5b2`
|
||||
2. Add `relpath = relpath.replace(os.path.sep, '/')` to `C:\Python27\Lib\site-packages\recommonmark\transform.py` line `63`
|
||||
3. run `makechm.bat`. It will build the .CHM help file.
|
||||
@@ -16,6 +16,8 @@ This section contains commands that are used for analysis.
|
||||
analadv
|
||||
virtualmod
|
||||
symdownload
|
||||
symload
|
||||
symunload
|
||||
imageinfo
|
||||
GetRelocSize
|
||||
exhandlers
|
||||
|
||||
@@ -4,7 +4,7 @@ Attempt to download a symbol from a Symbol Store.
|
||||
|
||||
## arguments
|
||||
|
||||
`[arg1]` Module name (with or without extension) to attept to download symbols for. When not specified, an attempt will be done to download symbols for all loaded modules.
|
||||
`[arg1]` Module name (with or without extension) to attempt to download symbols for. When not specified, an attempt will be done to download symbols for all loaded modules.
|
||||
|
||||
`[arg2]` Symbol Store URL. When not specified, the default store will be used.
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# symload/loadsym
|
||||
|
||||
Attempt to load a symbol from disk.
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` Module name (with or without extension) to attempt to load symbols for.
|
||||
|
||||
`arg2` Path to the symbol file.
|
||||
|
||||
`[arg3]` Force load. Set to `1` to skip symbol validation.
|
||||
|
||||
## result
|
||||
|
||||
This command does not set any result variables.
|
||||
@@ -0,0 +1,11 @@
|
||||
# symunload/unloadsym
|
||||
|
||||
Unload a symbol.
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` Module name (with or without extension) to unload symbols from.
|
||||
|
||||
## result
|
||||
|
||||
This command does not set any result variables.
|
||||
@@ -6,9 +6,9 @@ Set a singleshoot breakpoint on DLL load/unload.
|
||||
|
||||
`arg1` DLL Name to break on.
|
||||
|
||||
`[arg2]` 'l' means on load, 'u' means on unload. When not specified, x64dbg will break on both load and unload.
|
||||
`[arg2]` `a` means on load and unload, `l` means on load, `u` means on unload. When not specified, x64dbg will break on both load and unload.
|
||||
|
||||
`[arg3]` When specified, the breakpoint will not be singleshoot. When not specified the breakpoint will be removed after it has been hit.
|
||||
`[arg3]` When specified, the breakpoint will be singleshoot. When not specified the breakpoint will not be removed after it has been hit.
|
||||
|
||||
## result
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# sdump
|
||||
|
||||
Dump the at a certain position.
|
||||
Dump the stack at a certain position.
|
||||
|
||||
## arguments
|
||||
|
||||
|
||||
@@ -3,6 +3,14 @@ Commands
|
||||
|
||||
This is the documentation of x64dbg commands.
|
||||
|
||||
FAQ:
|
||||
|
||||
- Please note that all integer constants are represented in hex. For example, after executing the following command, ``$i`` will be 256 (0x100): ``mov $i, 100`` . This also means a variable cannot begin with letters from A to F.
|
||||
- Throughout this documentation, ``[arg1]`` (argument with a square bracket) represents an optional argument. ``arg1`` (argument without a square bracket) represents an mandatory argument. "[" and "]" represent memory reference operation in expression evaluation for the argument. If you don't want to refer to the content in the memory pointer, don't add "[" and "]".
|
||||
- For commands with two or more arguments, a comma (,) is used to separate these arguments. Do not use a space to separate the arguments.
|
||||
- x64dbg only supports integer in expressions. Strings, Floating point numbers and SSE/AVX data is not supported. Therefore you cannot use ``[eax]=="abcd"`` operator to compare strings. Instead, you can compare the first DWORD/QWORD of the string, or use an appropriate plugin which provides such feature.
|
||||
- The "==" operator is used to test if both operands are equal. The "=" operator is used to transfer the value of the expression to the destination.
|
||||
|
||||
**Contents:**
|
||||
|
||||
.. toctree::
|
||||
|
||||
@@ -9,6 +9,7 @@ This section contains commands to manipulate memory inside the debuggee.
|
||||
|
||||
alloc
|
||||
Fill
|
||||
memcpy
|
||||
free
|
||||
getpagerights
|
||||
setpagerights
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# memcpy
|
||||
|
||||
Copy memory in the context of the debuggee, without applying patches.
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` Destination address.
|
||||
|
||||
`arg2` Source address.
|
||||
|
||||
`arg3` Size to copy.
|
||||
|
||||
## result
|
||||
|
||||
This command sets `$result` to the total amount of bytes written at the destination. The condition `$result == arg3` is true if all memory was copied.
|
||||
@@ -1,6 +1,6 @@
|
||||
# HideDebugger/dbh/hide
|
||||
|
||||
Hide the debugger from (very) simple detection methods.
|
||||
Hide the debugger from (very) simple detection methods. The PEB will be modified so that `IsDebuggerPresent()` will return false.
|
||||
|
||||
## arguments
|
||||
|
||||
|
||||
@@ -10,4 +10,4 @@ Get the address of an export inside a DLL.
|
||||
|
||||
## result
|
||||
|
||||
The $resultvariable is set to the export address. When the export is not found, $resultwill be set to 0.
|
||||
The $result variable is set to the export address. When the export is not found, $result will be set to 0.
|
||||
@@ -3,7 +3,8 @@ Jxx/IFxx
|
||||
|
||||
There are various branches that can react on the flags set by the `cmp` (and maybe other) command(s):
|
||||
|
||||
* unconditional branch - `jmp`/`goto`* branch if not equal - `jne`/`ifne(q)`/`jnz`/`ifnz`
|
||||
* unconditional branch - `jmp`/`goto`
|
||||
* branch if not equal - `jne`/`ifne(q)`/`jnz`/`ifnz`
|
||||
* branch if equal - `je`/`ife(q)`/`jz`/`ifz`
|
||||
* branch if smaller - `jb`/`ifb`/`jl`/`ifl`
|
||||
* branch if bigger - `ja`/`ifa`/`jg`/`ifg`
|
||||
|
||||
@@ -18,4 +18,5 @@ This section contains various commands that are only used or available in a scri
|
||||
printstack
|
||||
ret
|
||||
scriptload
|
||||
scriptdll
|
||||
scriptdll
|
||||
scriptcmd
|
||||
@@ -6,7 +6,7 @@ Put information in the log.
|
||||
arguments
|
||||
---------
|
||||
|
||||
``[arg1]`` Format string (see :doc:`../../introduction/Formatting`). When not specified, a newline will be logged.
|
||||
``[arg1]`` Format string (see :doc:`../../introduction/Formatting`). When not specified, a newline will be logged. When using a format string it is recommended to use quotes to avoid ambiguity with the ``;`` (command separator): ````log "{mem;8@rax}"````.
|
||||
|
||||
result
|
||||
------
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# scriptcmd
|
||||
|
||||
Execute a command in the context of a running script.
|
||||
|
||||
## arguments
|
||||
|
||||
Unlike other commands this command forwards everything after `scriptcmd ` directly to the command processor.
|
||||
|
||||
For example `scriptcmd add rax, 0x1245` will execute the command `add rax, 0x1234`.
|
||||
|
||||
## result
|
||||
|
||||
This command does not set any result variables.
|
||||
|
||||
## example
|
||||
|
||||
This command can be used in combination with [SetBreakpointCommand](../conditional-breakpoint-control/SetBreakpointCommand.md) to execute scripts on breakpoint callbacks:
|
||||
|
||||
```
|
||||
fn_addr = module.dll:$0x1234 // module.dll RVA 0x1234
|
||||
bp fn_addr
|
||||
SetBreakpointCommand fn_addr, "scriptcmd call mycallback"
|
||||
|
||||
// make sure the script is not unloaded
|
||||
|
||||
mycallback:
|
||||
log "fn({arg.get(0)}, {arg.get(1)})"
|
||||
ret
|
||||
```
|
||||
@@ -1,16 +1,15 @@
|
||||
# find
|
||||
|
||||
Find a pattern.
|
||||
Find a pattern in a memory page. If you want to find all occurrences of a pattern in a memory page use [findall](./findall.md).
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first.
|
||||
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first. If you want to find all occurrences of a pattern in the entire memory map use [findallmem](./findallmem.md).
|
||||
|
||||
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`.
|
||||
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`. You can use [String Formatting](../../introduction/Formatting.rst) here.
|
||||
|
||||
`[arg3]` The size of the data to search in. Default is the size of the memory region.
|
||||
|
||||
## result
|
||||
|
||||
The $result variable is set to the virtual address of the address that matches the byte pattern. $result will be 0 when the pattern could not be matched.
|
||||
|
||||
The `$result` variable is set to the virtual address of the address that matches the byte pattern. `$result` will be 0 when the pattern could not be matched.
|
||||
@@ -1,15 +1,29 @@
|
||||
# findall
|
||||
|
||||
Find all occurrences of a pattern.
|
||||
Find all occurrences of a pattern in a memory page.
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first.
|
||||
`arg1` The address to start searching from. Notice that the searching will stop when the end of the memory page this address resides in has been reached. This means you cannot search the complete process memory without enumerating the memory pages first. You can use [findallmem](./findallmem.md) to search for a pattern in the whole memory.
|
||||
|
||||
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`.
|
||||
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`. You can use [String Formatting](../../introduction/Formatting.rst) here.
|
||||
|
||||
`[arg3]` The size of the data to search in. Default is the size of the memory region.
|
||||
|
||||
## result
|
||||
|
||||
`$result` is set to the number of occurrences.
|
||||
|
||||
## examples
|
||||
|
||||
Search for all occurrences a pattern in the memory page CIP is residing:
|
||||
|
||||
```
|
||||
findall mem.base(cip), "0FA2 E8 ???????? C3"
|
||||
```
|
||||
|
||||
Search for all occurences of the value of cax in the stack memory page:
|
||||
|
||||
```
|
||||
findall mem.base(csp), "{bswap@cax}"
|
||||
```
|
||||
@@ -6,7 +6,7 @@ Find all occurrences of a pattern in the entire memory map.
|
||||
|
||||
`arg1` The address to start searching from.
|
||||
|
||||
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`.
|
||||
`arg2` The byte pattern to search for. This byte pattern can contain wildcards (?) for example: `EB0?90??8D`. You can use [String Formatting](../../introduction/Formatting.rst) here.
|
||||
|
||||
`[arg3]` The size of the data to search in. Default is the entire memory map.
|
||||
|
||||
|
||||
@@ -17,6 +17,4 @@ This section contains commands that are used to search data.
|
||||
reffindrange
|
||||
refstr
|
||||
modcallfind
|
||||
yara
|
||||
yaramod
|
||||
setmaxfindresult
|
||||
@@ -1,19 +0,0 @@
|
||||
# yara
|
||||
|
||||
Apply Yara rules to a memory range.
|
||||
|
||||
YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples. With YARA you can create descriptions of malware families (or whatever you want to describe) based on textual or binary patterns. Each description, a.k.a rule, consists of a set of strings and a boolean expression which determine its logic.
|
||||
|
||||
Yara is a separate project. You can view its documentation at [http://yara.readthedocs.io](http://yara.readthedocs.io). x64dbg also maintains a list of Yara signatures at [https://github.com/x64dbg/yarasigs](https://github.com/x64dbg/yarasigs).
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` Rules file to apply. This should be a full path.
|
||||
|
||||
`[arg2]` Start address of the range to apply the rules to. If not specified, the disassembly selection will be used.
|
||||
|
||||
`[arg3]` Size of the range to apply the rules to. When not specified, the whole page will be used.
|
||||
|
||||
## result
|
||||
|
||||
This command does not set any result variables.
|
||||
@@ -1,17 +0,0 @@
|
||||
# yaramod
|
||||
|
||||
Apply Yara rules to a module.
|
||||
|
||||
YARA is a tool aimed at (but not limited to) helping malware researchers to identify and classify malware samples. With YARA you can create descriptions of malware families (or whatever you want to describe) based on textual or binary patterns. Each description, a.k.a rule, consists of a set of strings and a boolean expression which determine its logic.
|
||||
|
||||
Yara is a separate project. You can view its documentation at [http://yara.readthedocs.io](http://yara.readthedocs.io). x64dbg also maintains a list of Yara signatures at [https://github.com/x64dbg/yarasigs](https://github.com/x64dbg/yarasigs).
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` Rules file to apply. This should be a full path.
|
||||
|
||||
`arg2` Name of the module to apply the rules to.
|
||||
|
||||
## result
|
||||
|
||||
This command does not set any result variables.
|
||||
@@ -4,8 +4,12 @@ Run the program until the program reaches somewhere belonging to the party numbe
|
||||
|
||||
## arguments
|
||||
|
||||
`arg1` The party number. This value cannot be an expression.
|
||||
`arg1` The party number. This value cannot be an expression. Note: `0` is user module, `1` is system module.
|
||||
|
||||
## results
|
||||
|
||||
This command does not set any result variables.
|
||||
|
||||
## see also
|
||||
|
||||
[RunToUserCode](RunToUserCode.md)
|
||||
@@ -1,6 +1,9 @@
|
||||
# TraceIntoBeyondTraceRecord/tibt
|
||||
|
||||
Perform [StepInto](StepInto.md) until the program reaches somewhere outside the trace record.
|
||||
Perform [StepInto](StepInto.md) until the program reaches somewhere outside the trace record. This is similar to `ticnd tr.hitcount(cip)==0&&arg1, arg2` except that it achieves higher performance by avoiding the expression function invocation.
|
||||
|
||||
Usage example: If you want to find out the forking point of the program when different inputs are provided, first enable or re-enable trace record to clean trace record data.
|
||||
Then you trace while input A is provided. Finally you provide input B and execute `TraceIntoBeyondTraceRecord` command. The program will be paused where the instruction is never executed before.
|
||||
|
||||
## arguments
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ Set the watchdog mode of a watch item.
|
||||
|
||||
`[arg2]` The watchdog mode. Possible values:
|
||||
|
||||
* disabled : Watchdog is disableed.
|
||||
* disabled : Watchdog is disabled.
|
||||
* changed : Watchdog is triggered when the value is changed.
|
||||
* unchanged : Watchdog is triggered when the value is not changed.
|
||||
* istrue : Watchdog is triggered when the value is not 0.
|
||||
@@ -18,4 +18,4 @@ When this argument is not specified, the mode will be set to "changed" if the cu
|
||||
|
||||
## results
|
||||
|
||||
This command does not set any result variables.
|
||||
This command does not set any result variables.
|
||||
@@ -1,25 +1,25 @@
|
||||
# DbgCmdExec
|
||||
|
||||
Function description.
|
||||
Execute the command on the command processing thread.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool DbgCmdExec(const char* cmd);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`cmd` The command string in UTF-8 encoding
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
`true` if the command is sent to the command processing thread for asynchronous execution, `false` otherwise.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
DbgCmdExec("run");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [DbgCmdExecDirect](./DbgCmdExecDirect.md)
|
||||
@@ -1,25 +1,25 @@
|
||||
# DbgCmdExecDirect
|
||||
|
||||
Function description.
|
||||
Execute the command on the calling thread.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool DbgCmdExecDirect(const char* cmd)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`cmd` The command string in UTF-8 encoding
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
`true` if the command is executed successfully, `false` otherwise.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
DbgCmdExecDirect("run");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [DbgCmdExec](./DbgCmdExec.md)
|
||||
@@ -1,18 +1,18 @@
|
||||
# DbgExit
|
||||
|
||||
Function description.
|
||||
Used by x64dbg GUI to send exit signal to debugger and close the debugger.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void DbgExit()
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
No parameters
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
No return value.
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
# DbgMemFindBaseAddr
|
||||
|
||||
Function description.
|
||||
Returns the baseaddress and size of a specific module
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
duint DbgMemFindBaseAddr(
|
||||
duint addr,
|
||||
duint* size
|
||||
);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`addr` Virtual address which is in a specific module. <br>
|
||||
`size` Pointer, which will, on success, hold the module size.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
On success, returns the virtual address of a specific module. <br>
|
||||
On failure, it will return 0.
|
||||
|
||||
## Example
|
||||
|
||||
@@ -22,4 +27,4 @@ Example code.
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [DbgMemGetPageSize](./DbgMemGetPageSize.md)
|
||||
@@ -16,10 +16,15 @@ Return value description.
|
||||
|
||||
## Example
|
||||
|
||||
Get page base and size of selected instruction.
|
||||
```c++
|
||||
Example code.
|
||||
SELECTIONDATA sel; // Define Address the slected line in the Disassembly window ( begin , End )
|
||||
GuiSelectionGet(GUI_DISASSEMBLY, &sel); // Get the value of sel(begin addr , End addr )
|
||||
duint pagesize = DbgMemGetPageSize(sel.start); // get the page size of the section from the selected memory addr
|
||||
//Or use the following statement to get page base and size in one call.
|
||||
duint sctionbase = DbgMemFindBaseAddr(sel.start, &pagesize); // get the base of this section ( begin addr of the section )
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- List of related functions
|
||||
@@ -3,23 +3,35 @@
|
||||
Function description.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool DbgMemRead(
|
||||
duint va,
|
||||
void* dest,
|
||||
duint size
|
||||
);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`va` Virtual address to source<br>
|
||||
`dest` Pointer to pre allocated buffer of size `size`<br>
|
||||
`size` Number of bytes that should be read
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Returns true on success.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
// read user selected data from disassembly window
|
||||
SELECTIONDATA sel;
|
||||
GuiSelectionGet(GUI_DISASSEMBLY, &sel);
|
||||
uint16_t size = sel.end - sel.start + 1;
|
||||
uint8_t* dest = new uint8_t[size];
|
||||
bool success = DbgMemRead(sel.start, dest, size);
|
||||
// on success, the selected data is stored in dest
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- List of related functions
|
||||
@@ -1,25 +1,31 @@
|
||||
# DbgSetAutoCommentAt
|
||||
|
||||
Function description.
|
||||
Set an auto comment at the given address.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool DbgSetAutoCommentAt(duint addr, const char* text)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`addr` The address to comment.
|
||||
|
||||
`text` The auto comment in UTF-8 encoding.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
`true` if the function is successful, `false` otherwise.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
DbgSetAutoCommentAt(DbgValFromString("dis.sel()"), "This is the currently selected instruction");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [DbgSetCommentAt](./DbgSetCommentAt.md)
|
||||
- [DbgSetAutoLabelAt](./DbgSetAutoLabelAt.md)
|
||||
- [DbgSetAutoBookmarkAt](./DbgSetAutoBookmarkAt.md)
|
||||
- [DbgSetLabelAt](./DbgSetLabelAt.md)
|
||||
- [DbgSetBookmarkAt](./DbgSetBookmarkAt.md)
|
||||
@@ -1,25 +1,31 @@
|
||||
# DbgSetCommentAt
|
||||
|
||||
Function description.
|
||||
Set a comment at the given address.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool DbgSetCommentAt(duint addr, const char* text)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`addr` The address to comment.
|
||||
|
||||
`text` The comment in UTF-8 encoding.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
`true` if the function is successful, `false` otherwise.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
DbgSetCommentAt(DbgValFromString("dis.sel()"), "This is the currently selected instruction");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [DbgSetAutoCommentAt](./DbgSetAutoCommentAt.md)
|
||||
- [DbgSetAutoLabelAt](./DbgSetAutoLabelAt.md)
|
||||
- [DbgSetAutoBookmarkAt](./DbgSetAutoBookmarkAt.md)
|
||||
- [DbgSetLabelAt](./DbgSetLabelAt.md)
|
||||
- [DbgSetBookmarkAt](./DbgSetBookmarkAt.md)
|
||||
@@ -1,25 +1,25 @@
|
||||
# DbgValFromString
|
||||
|
||||
Function description.
|
||||
Evaluate the expression.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
duint DbgValFromString(const char* string);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`string` The [expression](../../../introduction/Expressions.rst) to evaluate in UTF-8 encoding.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
The value of the expression.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
eip = DbgValFromString("cip");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [DbgValToString](./DbgValToString.md)
|
||||
@@ -1,25 +1,27 @@
|
||||
# DbgValToString
|
||||
|
||||
Function description.
|
||||
Set the variable to the value.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool DbgValToString(const char* string, duint value);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`string` The name of the thing to set in UTF-8 encoding.
|
||||
|
||||
`value` The value to set.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
`true` if the value was set successfully, `false` otherwise.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
DbgValToString("eax", 1);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [DbgValFromString](./DbgValFromString.md)
|
||||
@@ -1,6 +1,6 @@
|
||||
# GuiAddLogMessage
|
||||
|
||||
Function description.
|
||||
Adds a message to the log. The message will be shown in the log window and on the status bar at the bottom of x64dbg.
|
||||
|
||||
```c++
|
||||
void GuiAddLogMessage(
|
||||
@@ -32,4 +32,5 @@ Invoke GuiAddLogMessage, Addr szMsg
|
||||
|
||||
## Related functions
|
||||
|
||||
- [GuiLogClear](./GuiLogClear.md)
|
||||
- [GuiLogClear](./GuiLogClear.md)
|
||||
- [GuiAddStatusBarMessage](./GuiAddStatusBarMessage.md)
|
||||
@@ -1,25 +1,25 @@
|
||||
# GuiAddStatusBarMessage
|
||||
|
||||
Function description.
|
||||
Shows text in the statusbar, which can be used to inform the user.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiAddStatusBarMessage(const char* msg);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`msg` String containing the message to add to the status bar.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiAddStatusBarMessage("This text will be displayed in the statusbar.");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiAddLogMessage](./GuiAddLogMessage.md)
|
||||
@@ -1,9 +1,9 @@
|
||||
# GuiDisplayWarning
|
||||
|
||||
Function description.
|
||||
Shows a warning dialog with title text and main message text.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiDisplayWarning(const char* title, const char* text)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
@@ -12,14 +12,15 @@ Function definition.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiDisplayWarning("Warning!", "Operation cannot be reversed.");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiAddLogMessage](./GuiAddLogMessage.md)
|
||||
- [GuiAddStatusBarMessage](./GuiAddStatusBarMessage.md)
|
||||
@@ -1,25 +1,32 @@
|
||||
# GuiGetDebuggeeNotes
|
||||
|
||||
Function description.
|
||||
Returns into a variable a pointer to a string containing notes and information that a user has made relating to the target being debugged (the debuggee). The function GuiGetGlobalNotes can be used to get the global notes stored by a user.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiGetDebuggeeNotes(char** text)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`text` A variable that will contain a pointer to a buffer on return. The pointer returned points to a string that will contain the notes for the debuggee.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value. The string containing the notes is returned via the pointer supplied via the `text` parameter.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
char* text = nullptr;
|
||||
GuiGetDebuggeeNotes(&text);
|
||||
if(text)
|
||||
{
|
||||
// do something with text
|
||||
}
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
|
||||
- [GuiGetGlobalNotes](./GuiGetGlobalNotes.md)
|
||||
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
|
||||
@@ -1,25 +1,32 @@
|
||||
# GuiGetGlobalNotes
|
||||
|
||||
Function description.
|
||||
Returns into a variable a pointer to a string containing global notes and information that a user has made. The function GuiGetDebuggeeNotes can be used to get the local notes stored by a user for the target being debugged (the debuggee).
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiGetGlobalNotes(char** text)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`text` A variable that will contain a pointer to a buffer on return. The pointer returned points to a string that will contain the global notes.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value. The string containing the notes is returned via the pointer supplied via the `text` parameter.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
char* text = nullptr;
|
||||
GuiGetGlobalNotes(&text);
|
||||
if(text)
|
||||
{
|
||||
// do something with text
|
||||
}
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
|
||||
- [GuiGetDebuggeeNotes](./GuiGetDebuggeeNotes.md)
|
||||
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
|
||||
@@ -1,25 +1,24 @@
|
||||
# GuiGetWindowHandle
|
||||
|
||||
Function description.
|
||||
Obtains the main window handle for x64dg.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
HWND GuiGetWindowHandle();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Returns the main window handle for x6dbg as a HWND variable
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
hWnd = GuiGetWindowHandle();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiIsUpdateDisabled
|
||||
|
||||
Function description.
|
||||
Returns the status of the internal update flag, which can be disabled via GuiUpdateDisable function or enabled vis the GuiUpdateEnable function.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool GuiIsUpdateDisabled()
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Returns a boolean value indicating if the internal update flag is set to disabled. If it is set to disabled the value is TRUE otherwise updates are enabled and the value is FALSE.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
bool bUpdate = GuiIsUpdateDisabled();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,25 @@
|
||||
# GuiLogClear
|
||||
|
||||
Function description.
|
||||
Clears the log window of all text.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiLogClear();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiLogClear();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiAddLogMessage](./GuiAddLogMessage)
|
||||
@@ -1,25 +1,40 @@
|
||||
# GuiMenuAdd
|
||||
|
||||
Function description.
|
||||
This function adds a new child menu to a menu.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
int GuiMenuAdd(int hMenu, const char* title)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hMenu` Menu handle from a previously-added menu or from the main menu.
|
||||
|
||||
`title` A const char repesenting the text title of the menu item to be added.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Returns the menu handle (unique), or -1 on failure.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
hNewMenu = GuiMenuAdd(hMenu, &szMenuTitle);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
|
||||
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
|
||||
- [GuiMenuClear](./GuiMenuClear.md)
|
||||
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
|
||||
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
|
||||
|
||||
Note: Plugin developers should make use of the plugin functions provided:
|
||||
|
||||
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
|
||||
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
|
||||
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
|
||||
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
|
||||
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
|
||||
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
|
||||
@@ -1,25 +1,40 @@
|
||||
# GuiMenuAddEntry
|
||||
|
||||
Function description.
|
||||
This function adds a menu entry to a menu.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
int GuiMenuAddEntry(int hMenu, const char* title)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hMenu` Menu handle from a previously-added menu or from the main menu.
|
||||
|
||||
`title` A const char repesenting the text title of the menu item to be added.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Returns the menu handle (unique), or -1 on failure.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
hNewMenuEntry = GuiMenuAddEntry(hMenu, &szMenuEntryText);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiMenuAdd](./GuiMenuAdd.md)
|
||||
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
|
||||
- [GuiMenuClear](./GuiMenuClear.md)
|
||||
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
|
||||
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
|
||||
|
||||
Note: Plugin developers should make use of the plugin functions provided:
|
||||
|
||||
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
|
||||
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
|
||||
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
|
||||
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
|
||||
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
|
||||
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
|
||||
@@ -1,25 +1,44 @@
|
||||
# GuiMenuAddSeparator
|
||||
|
||||
Function description.
|
||||
Adds a menu separator to a menu.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiMenuAddSeparator(int hMenu)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hMenu` Menu handle from a previously-added menu or from the main menu.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
hNewMenu = GuiMenuAdd(hMenu, &szMenuTitle);
|
||||
GuiMenuAddEntry(hNewMenu, &szMenuEntry1Text);
|
||||
GuiMenuAddEntry(hNewMenu, &szMenuEntry2Text);
|
||||
GuiMenuAddSeparator(hNewMenu);
|
||||
GuiMenuAddEntry(hNewMenu, &szMenuEntry3Text);
|
||||
GuiMenuAddEntry(hNewMenu, &szMenuEntry4Text);
|
||||
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiMenuAdd](./GuiMenuAdd.md)
|
||||
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
|
||||
- [GuiMenuClear](./GuiMenuClear.md)
|
||||
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
|
||||
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
|
||||
|
||||
Note: Plugin developers should make use of the plugin functions provided:
|
||||
|
||||
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
|
||||
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
|
||||
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
|
||||
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
|
||||
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
|
||||
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
|
||||
@@ -1,25 +1,39 @@
|
||||
# GuiMenuClear
|
||||
|
||||
Function description.
|
||||
This function removes all entries and child menus from a menu. It will not remove the menu itself.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiMenuClear(int hMenu)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hMenu` Menu handle from a previously-added menu or from the main menu.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
hNewMenu = GuiMenuAdd(hMenu, &szMenuTitle);
|
||||
GuiMenuClear(hMenuNew);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiMenuAdd](./GuiMenuAdd.md)
|
||||
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
|
||||
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
|
||||
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
|
||||
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
|
||||
|
||||
Note: Plugin developers should make use of the plugin functions provided:
|
||||
|
||||
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
|
||||
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
|
||||
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
|
||||
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
|
||||
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
|
||||
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
|
||||
@@ -1,25 +1,44 @@
|
||||
# GuiMenuSetEntryIcon
|
||||
|
||||
Function description.
|
||||
Sets an icon for a specified menu entry.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiMenuSetEntryIcon(int hEntry, const ICONDATA* icon)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hEntry` Parameter description.
|
||||
|
||||
`icon`
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
ICONDATA rocket;
|
||||
rocket.data = icon_rocket;
|
||||
rocket.size = sizeof(icon_rocket);
|
||||
hNewMenuEntry = GuiMenuAddEntry(hMenu, &szMenuEntryText);
|
||||
GuiMenuSetEntryIcon(hNewMenuEntry,&rocket);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiMenuAdd](./GuiMenuAdd.md)
|
||||
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
|
||||
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
|
||||
- [GuiMenuClear](./GuiMenuClear.md)
|
||||
- [GuiMenuSetIcon](./GuiMenuSetIcon.md)
|
||||
|
||||
Note: Plugin developers should make use of the plugin functions provided:
|
||||
|
||||
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
|
||||
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
|
||||
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
|
||||
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
|
||||
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
|
||||
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
|
||||
@@ -1,25 +1,49 @@
|
||||
# GuiMenuSetIcon
|
||||
|
||||
Function description.
|
||||
Sets an icon for a specified menu.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiMenuSetIcon(int hMenu, const ICONDATA* icon)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hMenu` Menu handle from a previously-added menu or from the main menu.
|
||||
|
||||
`icon`
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
ICONDATA rocket;
|
||||
rocket.data = icon_rocket;
|
||||
rocket.size = sizeof(icon_rocket);
|
||||
hNewMenuEntry = GuiMenuAddEntry(hMenu, &szMenuEntryText);
|
||||
GuiMenuSetIcon(hMenuDisasm,&rocket);
|
||||
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiMenuAdd](./GuiMenuAdd.md)
|
||||
- [GuiMenuAddEntry](./GuiMenuAddEntry.md)
|
||||
- [GuiMenuAddSeparator](./GuiMenuAddSeparator.md)
|
||||
- [GuiMenuClear](./GuiMenuClear.md)
|
||||
- [GuiMenuSetEntryIcon](./GuiMenuSetEntryIcon.md)
|
||||
|
||||
Note: Plugin developers should make use of the plugin functions provided:
|
||||
|
||||
- [\_plugin\_menuadd](../../plugins/API/menuadd.rst)
|
||||
- [\_plugin\_menuaddentry](../../plugins/API/menuaddentry.rst)
|
||||
- [\_plugin\_menuaddseparator](../../plugins/API/menuaddseparator.rst)
|
||||
- [\_plugin\_menuclear](../../plugins/API/menuclear.rst)
|
||||
- [\_plugin\_menuentryseticon](../../plugins/API/menuentryseticon.rst)
|
||||
- [\_plugin\_menuseticon](../../plugins/API/menuseticon.rst)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,25 +1,37 @@
|
||||
# GuiReferenceAddColumn
|
||||
|
||||
Function description.
|
||||
Adds a column to the current Reference View instance.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceAddColumn(int width, const char* title);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`width` An integer indicating the width of the column to add.
|
||||
|
||||
`title` A const char representing the column's title name to add.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceAddColumn(8,&sztitle);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,35 @@
|
||||
# GuiReferenceDeleteAllColumns
|
||||
|
||||
Function description.
|
||||
Removes all columns from the current Reference View instance.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceDeleteAllColumns();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceDeleteAllColumns();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,37 @@
|
||||
# GuiReferenceGetCellContent
|
||||
|
||||
Function description.
|
||||
Retrieves the data stored in a specified cell in the current Reference View instance, based on the supplied row and column parameters.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
char* GuiReferenceGetCellContent(int row, int col)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`row` An integer representing the row for the cell for which the data is fetched.
|
||||
|
||||
`col` An integer representing the column for the cell for which the data is fetched.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
The return value is a pointer to a char representing the data (typically a string) that was stored at the specified row/column of the current Reference View instance. NULL if there was no data or the row/column specified was incorrect.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
Data = GuiReferenceGetCellContent(0,0);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,35 @@
|
||||
# GuiReferenceGetRowCount
|
||||
|
||||
Function description.
|
||||
Gets the total rows count in the current Reference View instance.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
int GuiReferenceGetRowCount()
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Returns an integer value representing the total rows in the current Reference View instance.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
int iTotalRows = GuiReferenceGetRowCount();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,35 @@
|
||||
# GuiReferenceInitialize
|
||||
|
||||
Function description.
|
||||
Initializes and creates a new instance of a Reference View. A new tab will appear under Reference Views entitled as per the name parameter. Columns can be added to this instance via the GuiReferenceAddColumn function. Rows can be inserted by using the GuiReferenceSetRowCount function and data for each cell (row and column) can be added via the GuiReferenceSetCellContent function. See the appropriate functions for more details.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceInitialize(const char* name)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`name` A const char representing the text string to name the Reference View instance.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceInitialize("Code Caves");
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,35 @@
|
||||
# GuiReferenceReloadData
|
||||
|
||||
Function description.
|
||||
Reloads (refreshes) the data in the current Reference View instance.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceReloadData();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceReloadData();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,65 @@
|
||||
# GuiReferenceSetCellContent
|
||||
|
||||
Function description.
|
||||
Sets a specified cell's data content in the Reference View based on the supplied row and column parameters.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceSetCellContent(int row, int col, const char* str);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`row` integer representing the row to set data for.
|
||||
|
||||
`col` integer representing the column to set data for.
|
||||
|
||||
`str` const char* representing the string data to set at the row, col specified.
|
||||
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
const char szRefStart = "Start";
|
||||
const char szRefFinish = "Finish";
|
||||
const char szRefType = "Type";
|
||||
GuiReferenceInitialize("Some Information"); // Add Reference View Header Title
|
||||
GuiReferenceAddColumn(2 * sizeof(DWORD),&szRefStart); // Add column Name
|
||||
GuiReferenceAddColumn(2 * sizeof(DWORD),&szRefFinish); // Add column Name
|
||||
GuiReferenceAddColumn(8,&szRefType); // Add column Name
|
||||
GuiReferenceSetRowCount(2); // add 2 rows
|
||||
int iRow = 0;
|
||||
GuiReferenceSetCellContent(iRow,0,&szCodeCaveStartAddress); // add start address
|
||||
GuiReferenceSetCellContent(iRow,1,&szCodeCaveFinishAddress); // add finish address
|
||||
GuiReferenceSetCellContent(iRow,2,&szNop); // add type
|
||||
iRow = iRow + 1; // Increment rows
|
||||
// get variables to convert to strings (szCodeCaveStartAddress, szCodeCaveFinishAddress etc)
|
||||
// add to next row's columns
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
The Reference View must be initialized beforehand, and any columns required added before adding any rows and setting data for them.
|
||||
|
||||
Ensure you increment the row counter after you have set all data for all columns in a particular row, otherwise you will just overwrite any data you have set previously.
|
||||
|
||||
GuiReferenceSetRowCount needs to be called before setting cell contents - to update the reference view with a total count of rows, for example to add 5 rows: GuiReferenceSetRowCount(5), if you then decide to add another row later on then you would specify GuiReferenceSetRowCount(6)
|
||||
|
||||
Ideally you will use some variable that is incremented to automatically keep track of total rows added.
|
||||
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiReferenceSetCurrentTaskProgress
|
||||
|
||||
Function description.
|
||||
Sets the percentage bar and some status text in the current Reference View instance. This can indicate to the user that an operation is taking place, e.g. searching/sorting.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceSetCurrentTaskProgress(int progress, const char* taskTitle);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`progress` An integer representing the value of the percentage bar.
|
||||
|
||||
`taskTitle` A const char representing a text string to indicate status or progress to the user.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceSetCurrentTaskProgress(0,"Starting Search, Please Wait...");
|
||||
// do something
|
||||
GuiReferenceSetCurrentTaskProgress(50,"Searching, Please Wait...");
|
||||
// do something else
|
||||
GuiReferenceSetCurrentTaskProgress(100,"Finished Searching.");
|
||||
// finished
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,41 @@
|
||||
# GuiReferenceSetProgress
|
||||
|
||||
Function description.
|
||||
Sets the progress bar in the Reference View instance to a specific percentage value. This can be used to indicate to the user an operation is occurring, e.g. searching/sorting etc.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceSetProgress(int progress);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`progress` An integer representing the percentage value to set the progress bar to.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceSetProgress(0);
|
||||
// do something
|
||||
GuiReferenceSetProgress(50);
|
||||
// do something else
|
||||
GuiReferenceSetProgress(100);
|
||||
// tell user operation has ended
|
||||
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,35 @@
|
||||
# GuiReferenceSetRowCount
|
||||
|
||||
Function description.
|
||||
Sets the total number of rows that the Reference View will contain.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceSetRowCount(int count);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`count` integer representing the total number of rows that the current Reference View will contain.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceSetRowCount(5);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,35 @@
|
||||
# GuiReferenceSetSearchStartCol
|
||||
|
||||
Function description.
|
||||
Sets the search starting column in the current Reference View instance.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceSetSearchStartCol(int col);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`col` An integer representing the 0 based column to use for searching.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceSetSearchStartCol(1);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSingleSelection](./GuiReferenceSetSingleSelection.md)
|
||||
@@ -1,25 +1,38 @@
|
||||
# GuiReferenceSetSingleSelection
|
||||
|
||||
Function description.
|
||||
Sets the currently selected row in the Reference View instance.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiReferenceSetSingleSelection(int index, bool scroll);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`index` integer representing the row index to set the current selection to.
|
||||
|
||||
`scroll` a boolean value indicating if the selected index should be scrolled into view if it is not currently.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiReferenceSetSingleSelection(0,true);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiReferenceAddColumn](./GuiReferenceAddColumn.md)
|
||||
- [GuiReferenceDeleteAllColumns](./GuiReferenceDeleteAllColumns.md)
|
||||
- [GuiReferenceGetCellContent](./GuiReferenceGetCellContent.md)
|
||||
- [GuiReferenceGetRowCount](./GuiReferenceGetRowCount.md)
|
||||
- [GuiReferenceInitialize](./GuiReferenceInitialize.md)
|
||||
- [GuiReferenceReloadData](./GuiReferenceReloadData.md)
|
||||
- [GuiReferenceSetCellContent](./GuiReferenceSetCellContent.md)
|
||||
- [GuiReferenceSetCurrentTaskProgress](./GuiReferenceSetCurrentTaskProgress.md)
|
||||
- [GuiReferenceSetProgress](./GuiReferenceSetProgress.md)
|
||||
- [GuiReferenceSetRowCount](./GuiReferenceSetRowCount.md)
|
||||
- [GuiReferenceSetSearchStartCol](./GuiReferenceSetSearchStartCol.md)
|
||||
|
||||
@@ -1,25 +1,29 @@
|
||||
# GuiSelectionGet
|
||||
|
||||
Function description.
|
||||
Gets the currently selected line (or lines) of the specified GUI view and returns the information as start and end addresses into a SELECTIONDATA variable.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool GuiSelectionGet(int hWindow, SELECTIONDATA* selection)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hWindow` an integer representing one of the following supported GUI views: GUI_DISASSEMBLY, GUI_DUMP, GUI_STACK.
|
||||
|
||||
`selection` a SELECTIONDATA structure variable that stores the start and end address of the current selection.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Return TRUE if successful or FALSE otherwise.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
SELECTIONDATA sel;
|
||||
GuiSelectionGet(GUI_DISASSEMBLY, &sel)
|
||||
sprintf(msg, "%p - %p", sel.start, sel.end);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSelectionSet](./GuiSelectionSet.md)
|
||||
@@ -1,25 +1,30 @@
|
||||
# GuiSelectionSet
|
||||
|
||||
Function description.
|
||||
Sets the currently selected line (or lines) of the specified GUI view based on the start and end addresses stored in a SELECTIONDATA variable.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
bool GuiSelectionSet(int hWindow, const SELECTIONDATA* selection)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`hWindow` an integer representing one of the following supported GUI views: GUI_DISASSEMBLY, GUI_DUMP, GUI_STACK.
|
||||
|
||||
`selection` a SELECTIONDATA structure variable that stores the start and end address of the current selection.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
Return TRUE if successful or FALSE otherwise.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
SELECTIONDATA sel;
|
||||
GuiSelectionGet(GUI_DISASSEMBLY, &sel)
|
||||
sel.end += 4; //expand selection
|
||||
GuiSelectionSet(GUI_DISASSEMBLY, &sel)
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSelectionGet](./GuiSelectionGet.md)
|
||||
@@ -1,25 +1,28 @@
|
||||
# GuiSetDebuggeeNotes
|
||||
|
||||
Function description.
|
||||
Sets the notes of the target being debugged (the debuggee), based on the text variable passed to the function. The text variable is a pointer to a string containing the information to set as the debuggee's notes.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiSetDebuggeeNotes(char** text)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`text` A variable that contains a pointer to a string that contains the text to set as the debuggee notes.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
const char* text = json_string_value(json_object_get(root, "notes"));
|
||||
GuiSetDebuggeeNotes(text);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiGetDebuggeeNotes](./GuiGetDebuggeeNotes.md)
|
||||
- [GuiGetGlobalNotes](./GuiGetGlobalNotes.md)
|
||||
- [GuiSetGlobalNotes](./GuiSetGlobalNotes.md)
|
||||
@@ -1,25 +1,31 @@
|
||||
# GuiSetGlobalNotes
|
||||
|
||||
Function description.
|
||||
Sets the global notes, based on the text variable passed to the function. The text variable is a pointer to a string containing the information to set as the global notes.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiSetGlobalNotes(char** text)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`text` A variable that contains a pointer to a string that contains the text to set as the global notes.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
notesFile = String(szProgramDir) + "\\notes.txt";
|
||||
String text;
|
||||
if(!FileExists(notesFile.c_str()) || FileHelper::ReadAllText(notesFile, text))
|
||||
GuiSetGlobalNotes(text.c_str());
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiGetGlobalNotes](./GuiGetGlobalNotes.md)
|
||||
- [GuiGetDebuggeeNotes](./GuiGetDebuggeeNotes.md)
|
||||
- [GuiSetDebuggeeNotes](./GuiSetDebuggeeNotes.md)
|
||||
|
||||
@@ -1,25 +1,23 @@
|
||||
# GuiShowCpu
|
||||
|
||||
Function description.
|
||||
Switches the focus and view of the GUI to the main disassembly window (CPU tab)
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiShowCpu();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiShowCpu();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
@@ -3,23 +3,26 @@
|
||||
Function description.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiSymbolLogAdd(const char* message);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`message` String containing the message to add to the symbol log. Ensure that a carriage line and return feed are included with the string for it to properly display it. Encoding is UTF-8.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiSymbolLogAdd(&szMsg);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
|
||||
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
|
||||
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
|
||||
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
|
||||
@@ -3,23 +3,26 @@
|
||||
Function description.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiSymbolLogClear();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiSymbolLogClear();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
|
||||
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
|
||||
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
|
||||
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
|
||||
@@ -1,25 +1,28 @@
|
||||
# GuiSymbolRefreshCurrent
|
||||
|
||||
Function description.
|
||||
Refreshes the symbol view list of symbols and exports.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiSymbolRefreshCurrent();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiSymbolRefreshCurrent();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
|
||||
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
|
||||
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
|
||||
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
|
||||
@@ -1,25 +1,28 @@
|
||||
# GuiSymbolSetProgress
|
||||
|
||||
Function description.
|
||||
Sets the progress bar in the symbol view based on the integer value supplied. This can be used to convey to the user an operation and how close it is to completion, for example with searches.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiSymbolSetProgress(int percent);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`percent` an integer representing the percentage to set for the progress bar.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiSymbolSetProgress(50);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
|
||||
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
|
||||
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
|
||||
- [GuiSymbolUpdateModuleList](./GuiSymbolUpdateModuleList.md)
|
||||
@@ -1,25 +1,47 @@
|
||||
# GuiSymbolUpdateModuleList
|
||||
|
||||
Function description.
|
||||
Refreshes the symbol view modules list.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiSymbolUpdateModuleList(int count, SYMBOLMODULEINFO* modules)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`count` An integer representing the number of symbol module's to update.
|
||||
|
||||
`modules` A SYMBOLMODULEINFO variable that will hold the symbol module information.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
// Build the vector of modules
|
||||
std::vector<SYMBOLMODULEINFO> modList;
|
||||
|
||||
if(!SymGetModuleList(&modList))
|
||||
{
|
||||
GuiSymbolUpdateModuleList(0, nullptr);
|
||||
return;
|
||||
}
|
||||
|
||||
// Create a new array to be sent to the GUI thread
|
||||
size_t moduleCount = modList.size();
|
||||
SYMBOLMODULEINFO* data = (SYMBOLMODULEINFO*)BridgeAlloc(moduleCount * sizeof(SYMBOLMODULEINFO));
|
||||
|
||||
// Direct copy from std::vector data
|
||||
memcpy(data, modList.data(), moduleCount * sizeof(SYMBOLMODULEINFO));
|
||||
|
||||
// Send the module data to the GUI for updating
|
||||
GuiSymbolUpdateModuleList((int)moduleCount, data);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiSymbolLogAdd](./GuiSymbolLogAdd.md)
|
||||
- [GuiSymbolLogClear](./GuiSymbolLogClear.md)
|
||||
- [GuiSymbolRefreshCurrent](./GuiSymbolRefreshCurrent.md)
|
||||
- [GuiSymbolSetProgress](./GuiSymbolSetProgress.md)
|
||||
@@ -1,25 +1,43 @@
|
||||
# GuiUpdateAllViews
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of all opened views (tabs)
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateAllViews();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateAllViews();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiIsUpdateDisabled](./GuiIsUpdateDisabled.md)
|
||||
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateArgumentWidget
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the arguments widget.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateArgumentWidget();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateArgumentWidget();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateBreakpointsView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the breakpoints view.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateBreakpointsView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateBreakpointsView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateCallStack
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the call stack widget.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateCallStack();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateCallStack();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,43 @@
|
||||
# GuiUpdateDisable
|
||||
|
||||
Function description.
|
||||
Sets and internal variable to disable the update of views. To re-enable updating after processing or performing some operation, use the GuiUpdateEnable function.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateDisable();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateDisable();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiIsUpdateDisabled](./GuiIsUpdateDisabled.md)
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateDisassemblyView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the disassembly view (CPU tab).
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateDisassemblyView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateDisassemblyView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateDumpView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the dump views.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateDumpView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateDumpView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,43 @@
|
||||
# GuiUpdateEnable
|
||||
|
||||
Function description.
|
||||
Sets an internal variable to enable (or re-enable if previously disabled via GuiUpdateDisable) the refresh of all views. The updateNow parameter can be used to force the update straight away, otherwise the updates of views will continue as per normal message scheduling, now that they have been enabled with GuiUpdateEnable.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateEnable(bool updateNow);
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`updateNow` is a boolean value indicating if the update of all views should occur straight away.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateEnable(bool updateNow);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiIsUpdateDisabled](./GuiIsUpdateDisabled.md)
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateGraphView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the Graph view.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateGraphView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateGraphView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateMemoryView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the memory view.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateMemoryView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateMemoryView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdatePatches
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the patches.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdatePatches();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdatePatches();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateRegisterView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the registers view.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateRegisterView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateRegisterView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateSEHChain
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the SEH Chain.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateSEHChain();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateSEHChain();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateSideBar
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the Sidebar.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateSideBar();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateSideBar();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateThreadView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the threads view.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateThreadView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateThreadView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateTimeWastedCounter
|
||||
|
||||
Function description.
|
||||
Refreshes the time wasted counter.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateTimeWastedCounter();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateTimeWastedCounter();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,42 @@
|
||||
# GuiUpdateWatchView
|
||||
|
||||
Function description.
|
||||
Refreshes the contents of the watchdog view.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateWatchView();
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
This function has no parameters.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateWatchView();
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,25 +1,43 @@
|
||||
# GuiUpdateWindowTitle
|
||||
|
||||
Function description.
|
||||
Updates the x64dbg window title with a string to be appended to the title text. Typically the string is a filename.
|
||||
|
||||
```c++
|
||||
Function definition.
|
||||
void GuiUpdateWindowTitle(const char* filename)
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`param1` Parameter description.
|
||||
`filename` a const char variable to be appended to the x64dbg title bar.
|
||||
|
||||
## Return Value
|
||||
|
||||
Return value description.
|
||||
This function does not return a value.
|
||||
|
||||
## Example
|
||||
|
||||
```c++
|
||||
Example code.
|
||||
GuiUpdateWindowTitle("");
|
||||
GuiUpdateWindowTitle(szFileName);
|
||||
```
|
||||
|
||||
## Related functions
|
||||
|
||||
- List of related functions
|
||||
- [GuiUpdateAllViews](./GuiUpdateAllViews.md)
|
||||
- [GuiUpdateArgumentWidget](./GuiUpdateArgumentWidget.md)
|
||||
- [GuiUpdateBreakpointsView](./GuiUpdateBreakpointsView.md)
|
||||
- [GuiUpdateCallStack](./GuiUpdateCallStack.md)
|
||||
- [GuiUpdateDisable](./GuiUpdateDisable.md)
|
||||
- [GuiUpdateDisassemblyView](./GuiUpdateDisassemblyView.md)
|
||||
- [GuiUpdateDumpView](./GuiUpdateDumpView.md)
|
||||
- [GuiUpdateEnable](./GuiUpdateEnable.md)
|
||||
- [GuiUpdateGraphView](./GuiUpdateGraphView.md)
|
||||
- [GuiUpdateMemoryView](./GuiUpdateMemoryView.md)
|
||||
- [GuiUpdatePatches](./GuiUpdatePatches.md)
|
||||
- [GuiUpdateRegisterView](./GuiUpdateRegisterView.md)
|
||||
- [GuiUpdateSEHChain](./GuiUpdateSEHChain.md)
|
||||
- [GuiUpdateSideBar](./GuiUpdateSideBar.md)
|
||||
- [GuiUpdateThreadView](./GuiUpdateThreadView.md)
|
||||
- [GuiUpdateTimeWastedCounter](./GuiUpdateTimeWastedCounter.md)
|
||||
- [GuiUpdateWatchView](./GuiUpdateWatchView.md)
|
||||
- [GuiUpdateWindowTitle](./GuiUpdateWindowTitle.md)
|
||||
@@ -1,5 +1,7 @@
|
||||
Developers
|
||||
==========
|
||||
The x64dbg can be automated and extended in various ways: by the use of x64dbg script, :doc:`../commands/script/scriptdll`, a script written in a language provided by a scripting plugin, or an x64dbg plugin.
|
||||
|
||||
This section contains documentation intended to help developers to write code related to this program.
|
||||
|
||||
**Contents:**
|
||||
@@ -9,3 +11,5 @@ This section contains documentation intended to help developers to write code re
|
||||
|
||||
plugins/index
|
||||
functions/index
|
||||
tracefile
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
# x64dbg trace file format specification
|
||||
x64dbg trace file is a binary file that contains all information about program execution. Each trace file is composed of 3 parts: **Magic word**, **JSON header** and **binary trace blocks**. x64dbg trace file is little-endian.
|
||||
## Magic word
|
||||
Every trace file will begin with 4 bytes, "TRAC" (encoded in ASCII).
|
||||
## Header
|
||||
Header is located after header at offset 4. It is composed of a 4-byte length field, followed by a JSON blob. The JSON blob might not be null-terminated and might not be aligned to 4-byte boundary.
|
||||
## Binary trace blocks
|
||||
Binary trace data is immediately after header without any padding and might not be aligned to 4-byte boundary. It is defined as a sequence of blocks. Currently, only block type 0 is defined.
|
||||
|
||||
Every block is started with a 1-byte type number. This type number must be 0, which means it is a block that describes an instruction traced.
|
||||
|
||||
If the type number is 0, then the block will contain the following data:
|
||||
|
||||
```c++
|
||||
struct {
|
||||
uint8_t BlockType; //BlockType is 0, indicating it describes an instruction execution.
|
||||
uint8_t RegisterChanges;
|
||||
uint8_t MemoryAccesses;
|
||||
uint8_t BlockFlagsAndOpcodeSize; //Bitfield
|
||||
|
||||
DWORD ThreadId;
|
||||
uint8_t Opcode[];
|
||||
|
||||
uint8_t RegisterChangePosition[];
|
||||
duint RegisterChangeNewData[];
|
||||
|
||||
uint8_t MemoryAccessFlags[];
|
||||
duint MemoryAccessAddress[];
|
||||
duint MemoryAccessOldData[];
|
||||
duint MemoryAccessNewData[];
|
||||
};
|
||||
```
|
||||
|
||||
`RegisterChanges` is a unsigned byte that counts the number of elements in the array `RegisterChangePosition` and `RegisterChangeNewData`.
|
||||
|
||||
`MemoryAccesses` is a unsigned byte that counts the number of elements in the array `MemoryAccessFlags`.
|
||||
|
||||
`BlockFlagsAndOpcodeSize` is a bitfield. The most significant bit is ThreadId bit. When this bit is set, `ThreadId` field is available and indicates the thread id which executed the instruction. When this bit is clear, the thread id that executed the instruction is the same as last instruction, so it is not stored in file. The least 4 significant bits specify the length of `Opcode` field, in number of bytes. Other bits are reserved and set to 0. `Opcode` field contains the opcode of current instruction.
|
||||
|
||||
`RegisterChangePosition` is an array of unsigned bytes. Each element indicates a pointer-sized integer in struct `REGDUMP` that is updated after execution of current instruction, as an offset to previous location. The absolute index is computed by adding the absolute index of previous element +1 (or 0 if it is first element) with this relative index. `RegisterChangeNewData` is an array of pointer-sized integers that contains the new value of register, that is recorded before the instruction is executed. `REGDUMP` structure is given below.
|
||||
|
||||
```c++
|
||||
typedef struct
|
||||
{
|
||||
REGISTERCONTEXT regcontext;
|
||||
FLAGS flags;
|
||||
X87FPUREGISTER x87FPURegisters[8];
|
||||
unsigned long long mmx[8];
|
||||
MXCSRFIELDS MxCsrFields;
|
||||
X87STATUSWORDFIELDS x87StatusWordFields;
|
||||
X87CONTROLWORDFIELDS x87ControlWordFields;
|
||||
LASTERROR lastError;
|
||||
//LASTSTATUS lastStatus; //This field is not supported and not included in trace file.
|
||||
} REGDUMP;
|
||||
```
|
||||
|
||||
For example, `ccx` is the second member of regcontext. On x64 architecture, it is at byte offset 8 and on x86 architecture it is at byte offset 4. On both architecture, it is at index 1 and `cax` is at index 0. Therefore, when `RegisterChangePosition[0]` = 0, `RegisterChangeNewData[0]` contains the new value of `cax`. If `RegisterChangePosition[1]` = 0, `RegisterChangeNewData[1]` contains the new value of `ccx`, since the absolute index is computed by 0+0+1=1. The use of relative indexing helps achieve better data compression if a lossless compression is then applied to trace file, and also allow future expansion of `REGDUMP` structure without increasing size of `RegisterChanges` and `RegisterChangePosition` beyond a byte. Note: the file reader can locate the address of the instruction using `cip` register in this structure.
|
||||
|
||||
x64dbg will save all registers at the start of trace, and every 512 instructions(this number might be changed in future versions to have different tradeoff between speed and space). A block with all registers saved will have `RegisterChanges`=172 on 64-bit platform and 216 on 32-bit platform. This allows x64dbg trace file to be randomly accessed. x64dbg might be unable to open a trace file that has a sequence of instruction longer than an implementation-defined limit without all registers saved.
|
||||
|
||||
`MemoryAccessFlags` is an array of bytes that indicates properties of memory access. Currently, only bit 0 is defined and all other bits are reserved and set to 0. When bit 0 is set, it indicates the memory is not changed(This could mean it is read, or it is overwritten with identical value), so `MemoryAccessNewData` will not have an entry for this memory access. The file reader may use a disassembler to determine the true type of memory access.
|
||||
|
||||
`MemoryAccessAddress` is an array of pointers that indicates the address of memory access.
|
||||
|
||||
`MemoryAccessOldData` is an array of pointer-sized integers that stores the old content of memory.
|
||||
|
||||
`MemoryAccessNewData` is an array of pointer-sized integers that stores the new content of memory.
|
||||
+29
-1
@@ -36,4 +36,32 @@ in the side bar for watched variables.
|
||||
## Do not call SetForegroundWindow
|
||||
|
||||
When a debug event occurs, x64dbg will focus itself so you can view the state of the debuggee. In some circumstances
|
||||
this might not be desired. This option can be used to tell x64dbg not to focus itself when a debug event occurs.
|
||||
this might not be desired. This option can be used to tell x64dbg not to focus itself when a debug event occurs.
|
||||
|
||||
## Show RVA addresses in graph view
|
||||
When enabled in graph view the offset addresses are shown in front of the disassembly.
|
||||
|
||||
## Graph zoom mode
|
||||
|
||||
Allows to zoom graph view by holding <ctrl> and turning the mousewheel up and down.
|
||||
Note: Press G on the CPU tab press G to open graph view
|
||||
|
||||
## Show exit confirmation dialog
|
||||
|
||||
When enabled the dialog
|
||||
"The debuggee is still running and will be terminated if you exit. Do you really want to exit?"
|
||||
is shown when you exit x64dbg but it's still attached to some process for debugging.
|
||||
|
||||
## Disable auto completion in goto dialog
|
||||
|
||||
Here you can turn of the auto completion that will suggest words as soon you start typing in the "Enter expression" dialog. Go to/expression from the right click context menu will bring up the "Enter expression" dialog. Note: That stting will be handy in case there are delays when typing.
|
||||
|
||||
## Show ASCII/Unicode in address dump mode
|
||||
When enabled the column "ASCII" is added to the dump panels.
|
||||
Furthermore the view mode(right click) must be set to "Address" to see this effect.
|
||||
Note: The column "ASCII" must not be hidden.
|
||||
Right click on column header to bring up the 'Edit column' dialog to check.
|
||||
^^
|
||||
Note from the doc contributor:
|
||||
However please don't ask why there is an option here
|
||||
when there is also that 'Edit column' dialog that does nearly the same thing.
|
||||
@@ -4,7 +4,9 @@ These settings do not appear in settings dialog, nor can they be changed in x64d
|
||||
|
||||
## Engine
|
||||
### AnimateInterval
|
||||
If set to a value of milliseconds, animation will proceed every specified milliseconds. Minimum value is 20ms.
|
||||
If set to a value of milliseconds, animation will proceed every specified milliseconds.
|
||||
|
||||
Update: This setting has been added into settings dialog, and previous lower limit of 20ms has been removed.
|
||||
|
||||
### MaxSkipExceptionCount
|
||||
If set (default is 10000), during a run that ignores first-chance exceptions(example, [erun](../../commands/debug-control/erun)), it will only ignore that specified number of first-chance exceptions. After that the debuggee will pause when one more first-chance exception happens. If set to 0 first-chance exceptions will always be ignored during such runs.
|
||||
@@ -21,4 +23,4 @@ If set to a Unicode value, dump view will use this character to represent null c
|
||||
Set to 1 to ignore errors while animating, so animation will continue when an error in the animated command occurs.
|
||||
|
||||
### NoSeasons
|
||||
Set to 1 to disable easter eggs and Christmas icons.
|
||||
Set to 1 to disable easter eggs and Christmas icons.
|
||||
+13
-1
@@ -32,6 +32,8 @@ Select the entire function or block
|
||||
You can select the entire function by double-clicking on the checkbox next to the disassembly. This checkbox can also be used to
|
||||
fold the block into a single line.
|
||||
|
||||
Note: when you select only 1 instruction, or if the function is not analyzed, the checkbox might not appear. In this case, please select the instruction you want to fold first.
|
||||
|
||||
Code page
|
||||
---------
|
||||
|
||||
@@ -40,4 +42,14 @@ You can use the codepage dialog(in the context menu of the dump view) to select
|
||||
Change Window Title
|
||||
-------------------
|
||||
|
||||
You can rename the windows of x64dbg by renaming "x64dbg.exe" or "x32dbg.exe" to another name. You should also rename the "x64dbg.ini" or "x32dbg.ini" to keep it the same name as the debugger.
|
||||
You can rename the windows of x64dbg by renaming "x64dbg.exe" or "x32dbg.exe" to another name, if the debuggee doesn't support running in a system with a window or process named as such.
|
||||
You should also rename the "x64dbg.ini" or "x32dbg.ini" to keep it the same name as the debugger.
|
||||
|
||||
Search for strings
|
||||
------------------
|
||||
|
||||
You can use the following methods to search for string:
|
||||
|
||||
- Search for / Pattern: you will be asked to provide a string to search, and x64dbg will search for it and display the results in the references view.
|
||||
- Search for / Strings references: x64dbg will search all pointers that look like an ANSI or Unicode string and display the results in the references view. Older versions of x64dbg supports only Latin strings, while latest x64dbg version supports non-English languges through a generic algorithm that may or may not work well in your language. **If you need to search for strings in other languages better, please install appropriate plugins.**
|
||||
- Search for / Constant: search for a constant that is the first DWORD/QWORD of the string.
|
||||
+3
-1
@@ -1,8 +1,10 @@
|
||||
Graph
|
||||
=====
|
||||
|
||||
Graph view contains the control flow graph. When you use :doc:`../../commands/gui/graph` command or context menu in the disassembly view, it will show the control flow graph here.
|
||||
Graph view contains the control flow graph. When you use :doc:`../../commands/gui/graph` command or context menu in the disassembly view (Default hotkey ``G``), it will show the control flow graph here.
|
||||
|
||||
There are two modes to show the control flow graph: Normal mode and overview mode.
|
||||
|
||||
In overview mode, the program will draw all the control flow graph within the window area, but not output the disassembly. When the first instruction is traced when trace record is enabled on this memory page, the whole basic block will be shown in a different color (Default is green).
|
||||
|
||||
The graph view is now part of CPU view.
|
||||
+25
-1
@@ -2,6 +2,13 @@
|
||||
|
||||
Trace view is a view in which you can see history of stepped instructions. This lets you examine the details of each instruction stepped when you are stepping manually or [tracing](../../introduction/ConditionalTracing.md) automatically, or view a trace history previously saved. This functionality must be enabled explicitly from trace view or [CPU view](CPU.rst). It features saving all the instructions, registers and memory accesses during a trace.
|
||||
|
||||
You can double-click on columns to perform quick operation:
|
||||
* Index: follow in disassembly.
|
||||
* Address: toggle RVA display mode.
|
||||
* Opcode: toggle breakpoint.
|
||||
* Disassembly: follow in disassembly.
|
||||
* Comments: set comments.
|
||||
|
||||
## Start Run Trace
|
||||
|
||||
To enable trace logging into trace view, you first enable it via "**Start Run Trace**" menu. It will pop up a dialog allowing you to save the recorded instructions into a file. The default location of this file is in the database directory.
|
||||
@@ -16,10 +23,27 @@ This menu can stop recording instructions.
|
||||
|
||||
Close current trace file and clear the trace view.
|
||||
|
||||
## Close and delete
|
||||
|
||||
Close current trace file and clear the trace view, and also delete current trace file from disk.
|
||||
|
||||
## Open
|
||||
|
||||
Open a trace file to view the content of it. It can be used when not debugging, but it is recommended that you debug the corresponding debuggee when viewing a trace, as it will be able to render the instructions with labels from the database of the debuggee.
|
||||
Open a trace file to view the content of it. It can be used when not debugging, but it is recommended that you debug the corresponding debuggee when viewing a trace, as it will be able to render the instructions with labels from the database of the debuggee. The debugger will show a warning if you want to load a trace file which is not recorded from currently debugged executable.
|
||||
|
||||
## Recent files
|
||||
|
||||
Open a recent file to view the content of it.
|
||||
|
||||
## Search
|
||||
### Constant
|
||||
|
||||
Search for the user-specified constant in the entire recorded trace, and record the occurances in references view.
|
||||
|
||||
### Memory Reference
|
||||
|
||||
Search for memory accesses to the user-specified address.
|
||||
|
||||
## Toggle Auto Disassembly Scroll
|
||||
|
||||
When turned on, the disassembly view in the [CPU view](CPU.rst) will automatically follow the EIP or RIP of selected instruction in trace view.
|
||||
@@ -17,6 +17,7 @@ If you came here because someone told you to read the manual, start by reading *
|
||||
gui/index
|
||||
commands/index
|
||||
developers/index
|
||||
licenses/index
|
||||
|
||||
|
||||
Indices and tables
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# Command line
|
||||
|
||||
x64dbg supports the following command line:
|
||||
|
||||
- 1 argument: `x64dbg filename.exe` will debug `filename.exe`.
|
||||
- 2 arguments: `x64dbg -p PID` will attach to the process with `PID` PID.
|
||||
- 2 arguments: `x64dbg filename.exe cmdline` will debug `filename.exe` with `cmdline` as command line.
|
||||
- 3 arguments: `x64dbg filename.exe cmdline currentdir` will debug `filename.exe` with `cmdline` as command line and `currentdir` as current directory.
|
||||
@@ -6,6 +6,7 @@ This section describes the conditional breakpoint capability in x64dbg.
|
||||
|
||||
When a breakpoint is hit, x64dbg will do the following things:
|
||||
|
||||
- If the breakpoint is an exception breakpoint, set the system variable `$breakpointexceptionaddress` to the exception address;
|
||||
- Increment the *hit counter*;
|
||||
- Set the system variable `$breakpointcounter` to the value of *hit counter*;
|
||||
- If *break condition* is set, evaluate the [expression](./Expressions.rst) (defaults to `1`);
|
||||
@@ -25,6 +26,8 @@ When a breakpoint is hit, x64dbg will do the following things:
|
||||
- The *break condition* will be set to the value of `$breakpointcondition`. So if you modify this system variable in the script, you will be able to control whether the debuggee would break.
|
||||
- If *break condition* evaluated to `1` (or any value other than '0'):
|
||||
- Break the debuggee and wait for the user to resume.
|
||||
|
||||
If any expression is invalid, the condition will be triggered (That is, an invalid expression as condition will cause the breakpoint to always break, log and execute command).
|
||||
|
||||
## Hit counter
|
||||
|
||||
@@ -40,18 +43,20 @@ You can set a conditional breakpoint with GUI by setting a software breakpoint(k
|
||||
|
||||
You should not use commands that can change the running state of the debuggee (such as `run`) inside the breakpoint command, because these commands are unstable when used here. You can use *break condition*, *command condition* or `$breakpointcondition` instead.
|
||||
|
||||
If you don't know where the condition will become true, try [conditional tracing](./ConditionalTracing.md) instead!
|
||||
|
||||
## Examples
|
||||
|
||||
**A conditional breakpoint which never breaks**
|
||||
|
||||
*break condition*: `0`
|
||||
*break condition*: `0` (Useful if you only want to execute command or log data, but not pause the debuggee)
|
||||
|
||||
**A conditional breakpoint which breaks only if EAX and ECX both equal to 1**
|
||||
|
||||
*break condition*: `EAX==1 && ECX==1`
|
||||
|
||||
**A conditional breakpoint which breaks only if the first argument is 1**
|
||||
|
||||
*break condition*: `arg.get(0)==1`
|
||||
|
||||
**A conditional breakpoint which breaks only if EAX is a valid address**
|
||||
|
||||
*break condition*: `mem.valid(EAX)`
|
||||
@@ -64,9 +69,13 @@ If you don't know where the condition will become true, try [conditional tracing
|
||||
|
||||
*break condition*: `tid()==1C0`
|
||||
|
||||
## Comparison with Conditional Tracing
|
||||
|
||||
A conditional breakpoint can only pause the debuggee when it is executed. It cannot pause the debuggee when the breakpoint is not hit even if the condition is satisfied. If you don't know where the condition will become true, try [conditional tracing](./ConditionalTracing.md) instead!
|
||||
|
||||
## See also
|
||||
|
||||
- [Conditional Breakpoint Control](../commands/conditional-breakpoint-control/index.rst)
|
||||
- [Expressions](./Expressions.rst)
|
||||
- [Expression Functions](./Expression-functions.md)
|
||||
- [String Formatting](./Formatting.rst)
|
||||
- [String Formatting](./Formatting.rst)
|
||||
@@ -28,13 +28,27 @@ When a trace step is hit, x64dbg will do the following things:
|
||||
- If *switch condition* evaluated to `1`:
|
||||
- Switch (invert) the step type. If you are tracing *in* it will switch to *out* (and the other way around). This allows you to for example not trace into system module calls with the condition `mod.party(dis.branchdest(cip)) == 1` or not trace into certain calls.
|
||||
|
||||
In addition to the above operations, x64dbg also updates the run trace in the trace view and the trace record. The updates to the run trace in the trace view and the trace record are performed every time the debuggee is paused or traced, not just limited to conditional tracing.
|
||||
|
||||
## Logging
|
||||
|
||||
The log can be formatted by x64dbg to log the current state of the program. See [formatting](./Formatting.rst) on how to format the log string. If you are looking for logging the address and disassembly of all instructions traced you can use `{p:cip} {i:cip}`. To redirect the log to a file use [TraceSetLogFile](../commands/tracing/TraceSetLogFile.md).
|
||||
The log can be formatted by x64dbg to log the current state of the program. See [formatting](./Formatting.rst) on how to format the log string. If you are looking for logging the address and disassembly of all instructions traced you can use `{p:cip} {i:cip}`. To redirect the log to a file use [TraceSetLogFile](../commands/tracing/TraceSetLogFile.md), or via the graphical dialog.
|
||||
|
||||
An alternative way to record all instruction traced in the trace view is by enabling run trace. Right click in the trace view and click *Start Run Trace*, then start tracing.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Trace record
|
||||
|
||||
If you use one of the trace record-based tracing options, the initial evaluation of *break condition* includes the type of trace record tracing that you specified. The normal *break condition* can be used to break before the trace record condition is satisfied. If you want to include trace record in your condition for full control, you can use the [expression functions](./Expression-functions.md).
|
||||
If you use one of the trace record-based tracing options such as [TraceIntoBeyondTraceRecord](../commands/tracing/TraceIntoBeyondTraceRecord.md), the initial evaluation of *break condition* includes the type of trace record tracing that you specified. The normal *break condition* can be used to break before the trace record condition is satisfied. If you want to include trace record in your condition for full control, you can use the [expression functions](./Expression-functions.md).
|
||||
|
||||
## Notes
|
||||
|
||||
@@ -42,6 +56,8 @@ You can start a conditional tracing by "Trace over until condition"/"Trace into
|
||||
|
||||
You should not use commands that can change the running state of the debuggee (such as `run`) inside the breakpoint command, because these commands are unstable when used here. You can use *break condition*, *command condition* or `$tracecondition` instead.
|
||||
|
||||
When you use *Trace Over*, the debuggee would not be paused inside the calls that has been stepped over, even if the condition is true. Also other operations, such as logging and trace record, are not executed. This makes tracing faster, but if these operations are desired you should use *Trace Into*.
|
||||
|
||||
## See also
|
||||
|
||||
- [Tracing](../commands/tracing/index.rst)
|
||||
|
||||
Loaded 100 of 116 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user