From e481c8a56c9baaa29dfa7511ce8ce31d8dbb2a03 Mon Sep 17 00:00:00 2001 From: DocBot Date: Sun, 20 Jul 2025 09:48:56 +0000 Subject: [PATCH] Deployed b27b5bf to dev with MkDocs 1.6.1 and mike 2.1.3 --- dev/contributing/writing-tests/index.html | 2 +- dev/feed_json_updated.json | 2 +- dev/feed_rss_created.xml | 2 +- dev/feed_rss_updated.xml | 2 +- dev/functions/index.html | 2 +- .../pwndbg/aglib/disasm/arch/index.html | 6 +- .../pwndbg/aglib/disasm/x86/index.html | 8 +- .../pwndbg/gdblib/functions/index.html | 2 +- dev/reference/pwndbg/lib/elftypes/index.html | 2 +- dev/search/search_index.json | 2 +- dev/sitemap.xml | 950 +++++++++--------- dev/sitemap.xml.gz | Bin 2923 -> 2923 bytes 12 files changed, 490 insertions(+), 490 deletions(-) diff --git a/dev/contributing/writing-tests/index.html b/dev/contributing/writing-tests/index.html index 51fef7329..59bd59383 100644 --- a/dev/contributing/writing-tests/index.html +++ b/dev/contributing/writing-tests/index.html @@ -1,4 +1,4 @@ - Writing Tests - Documentation
Skip to content

Writing Tests¤

Overview¤

Note

This is written under the assumption you already know how to run the tests.

In Pwndbg we have four types of tests: extensive x86_64 GDB tests, cross-architecture tests, linux kernel tests and unit-tests. They are all located in subdirectories of ./tests.

The x86_64 tests encompass most of the Pwndbg testing suite. If your tests do not belong in any of the other categories, they should go here. Since we do not yet perform testing on LLDB, these are run from inside GDB and are located in the ./tests/library/gdb directory. They can be run with ./tests.sh -d gdb -g gdb.

The cross-architecture tests are run using qemu-user emulation. They test architecture-specific logic and are located in the ./tests/library/qemu-user directory. They can be run with ./tests.sh -d gdb -g cross-arch-user.

The linux kernel tests are run using qemu-system emulation. They are located in the ./tests/library/qemu-system directory and run for a variety kernel configurations and architectures.

The unit tests are not run from within a debugger, but rather directly with pytest. They are located in the ./tests/unit-tests/ directory.

Here are the options supported by ./tests.sh which you can get by running ./tests.sh -h.

usage: tests.py [-h] -g {gdb,dbg,cross-arch-user} -d {gdb} [-p] [-c] [-v] [-s] [--nix] [--collect-only] [test_name_filter]
+ Writing Tests - Documentation      

Writing Tests¤

Overview¤

Note

This is written under the assumption you already know how to run the tests.

In Pwndbg we have four types of tests: extensive x86_64 GDB tests, cross-architecture tests, linux kernel tests and unit-tests. They are all located in subdirectories of ./tests.

The x86_64 tests encompass most of the Pwndbg testing suite. If your tests do not belong in any of the other categories, they should go here. Since we do not yet perform testing on LLDB, these are run from inside GDB and are located in the ./tests/library/gdb directory. They can be run with ./tests.sh -d gdb -g gdb.

The cross-architecture tests are run using qemu-user emulation. They test architecture-specific logic and are located in the ./tests/library/qemu-user directory. They can be run with ./tests.sh -d gdb -g cross-arch-user.

The linux kernel tests are run using qemu-system emulation. They are located in the ./tests/library/qemu_system directory and run for a variety kernel configurations and architectures.

The unit tests are not run from within a debugger, but rather directly with pytest. They are located in the ./tests/unit_tests/ directory.

Here are the options supported by ./tests.sh which you can get by running ./tests.sh -h.

usage: tests.py [-h] -g {gdb,dbg,cross-arch-user} -d {gdb} [-p] [-c] [-v] [-s] [--nix] [--collect-only] [test_name_filter]
 
 Run tests.
 
diff --git a/dev/feed_json_updated.json b/dev/feed_json_updated.json
index 60d765632..f17fa1771 100644
--- a/dev/feed_json_updated.json
+++ b/dev/feed_json_updated.json
@@ -1 +1 @@
-{"version": "https://jsonfeed.org/version/1", "title": "pwndbg Blog", "home_page_url": "https://pwndbg.re/pwndbg/latest/", "feed_url": "https://pwndbg.re/pwndbg/latest/feed_json_updated.json", "description": "pwndbg (/pa\u028an\u02c8di\u02ccb\u028c\u0261/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.", "icon": "https://pwndbg.re/pwndbg/assets/favicon.ico", "authors": [], "language": "en", "items": [{"id": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "url": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "title": "Pwndbg coding sprints report", "content_html": "Report of the two coding sprints with Pwndbg\n", "image": null, "date_modified": "2025-07-18T01:53:14+00:00", "authors": [{"name": "Disconnect3d"}], "tags": []}]}
\ No newline at end of file
+{"version": "https://jsonfeed.org/version/1", "title": "pwndbg Blog", "home_page_url": "https://pwndbg.re/pwndbg/latest/", "feed_url": "https://pwndbg.re/pwndbg/latest/feed_json_updated.json", "description": "pwndbg (/pa\u028an\u02c8di\u02ccb\u028c\u0261/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.", "icon": "https://pwndbg.re/pwndbg/assets/favicon.ico", "authors": [], "language": "en", "items": [{"id": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "url": "https://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/", "title": "Pwndbg coding sprints report", "content_html": "Report of the two coding sprints with Pwndbg\n", "image": null, "date_modified": "2025-07-20T09:44:03+00:00", "authors": [{"name": "Disconnect3d"}], "tags": []}]}
\ No newline at end of file
diff --git a/dev/feed_rss_created.xml b/dev/feed_rss_created.xml
index af9143e14..4610499ef 100644
--- a/dev/feed_rss_created.xml
+++ b/dev/feed_rss_created.xml
@@ -1 +1 @@
- pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Fri, 18 Jul 2025 01:55:17 -0000 Fri, 18 Jul 2025 01:55:17 -0000 1440 MkDocs RSS plugin - v1.17.1  https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/   Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Sun, 21 Aug 2022 00:00:00 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/  
\ No newline at end of file
+ pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Sun, 20 Jul 2025 09:47:38 -0000 Sun, 20 Jul 2025 09:47:38 -0000 1440 MkDocs RSS plugin - v1.17.1  https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/   Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Sun, 21 Aug 2022 00:00:00 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/  
\ No newline at end of file
diff --git a/dev/feed_rss_updated.xml b/dev/feed_rss_updated.xml
index a5390abb4..0411ab85d 100644
--- a/dev/feed_rss_updated.xml
+++ b/dev/feed_rss_updated.xml
@@ -1 +1 @@
- pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Fri, 18 Jul 2025 01:55:17 -0000 Fri, 18 Jul 2025 01:55:17 -0000 1440 MkDocs RSS plugin - v1.17.1  https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/   Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Fri, 18 Jul 2025 01:53:14 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/  
\ No newline at end of file
+ pwndbg Blogpwndbg (/paʊnˈdiˌbʌɡ/) is a GDB plug-in that makes debugging with GDB suck less, with a focus on features needed by low-level software developers, hardware hackers, reverse-engineers and exploit developers.https://pwndbg.re/pwndbg/latest/https://github.com/pwndbg/pwndbg/en Sun, 20 Jul 2025 09:47:38 -0000 Sun, 20 Jul 2025 09:47:38 -0000 1440 MkDocs RSS plugin - v1.17.1  https://pwndbg.re/pwndbg/assets/favicon.ico pwndbg Bloghttps://pwndbg.re/pwndbg/latest/   Pwndbg coding sprints report Disconnect3d Report of the two coding sprints with Pwndbghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/ Sun, 20 Jul 2025 09:44:03 +0000pwndbg Bloghttps://pwndbg.re/pwndbg/latest/blog/2022/08/21/pwndbg-coding-sprints-report/  
\ No newline at end of file
diff --git a/dev/functions/index.html b/dev/functions/index.html
index 3b4a40e8d..a6df5754b 100644
--- a/dev/functions/index.html
+++ b/dev/functions/index.html
@@ -27,7 +27,7 @@
 pwndbg> argv
 00:0000│  0x7fffffffe2a8 —▸ 0x7fffffffe666 ◂— '/usr/bin/sh'
 01:0008│  0x7fffffffe2b0 ◂— 0
-

base¤

base(name_pattern: gdb.Value | str) -> int
+

base¤

base(name_pattern: gdb.Value | str)
 

Return the base address of the first memory mapping containing the given name.

Example¤

pwndbg> p/x $base("libc")
 $4 = 0x7ffff7d4b000
 pwndbg> vmmap libc
diff --git a/dev/reference/pwndbg/aglib/disasm/arch/index.html b/dev/reference/pwndbg/aglib/disasm/arch/index.html
index d09521c9e..044b9ecd3 100644
--- a/dev/reference/pwndbg/aglib/disasm/arch/index.html
+++ b/dev/reference/pwndbg/aglib/disasm/arch/index.html
@@ -24,9 +24,9 @@
   
       module-attribute
    (pwndbg.aglib.disasm.arch.DO_NOT_EMULATE)" href=#pwndbg.aglib.disasm.arch.DO_NOT_EMULATE>DO_NOT_EMULATE

DEBUG_ENHANCEMENT module-attribute ¤

DEBUG_ENHANCEMENT = False
-

groups module-attribute ¤

groups = {v: _2for (k, v) in items() if startswith('CS_GRP_')}
-

ops module-attribute ¤

ops = {v: _Sfor (k, v) in items() if startswith('CS_OP_')}
-

access module-attribute ¤

access = {v: _zfor (k, v) in items() if startswith('CS_AC_')}
+

groups module-attribute ¤

groups = {v: _Pfor (k, v) in items() if startswith('CS_GRP_')}
+

ops module-attribute ¤

ops = {v: _ifor (k, v) in items() if startswith('CS_OP_')}
+

access module-attribute ¤

access = {v: _Cfor (k, v) in items() if startswith('CS_AC_')}
 

DO_NOT_EMULATE module-attribute ¤

DO_NOT_EMULATE = {CS_GRP_INT, CS_GRP_INVALID, CS_GRP_IRET}
 

DisassemblyAssistant ¤

DisassemblyAssistant(architecture: X86_MATH_INSTRUCTIONS

groups module-attribute ¤

groups = {v: _6for (k, v) in items() if startswith('X86_GRP_')}
-

ops module-attribute ¤

ops = {v: _qfor (k, v) in items() if startswith('X86_OP_')}
-

regs module-attribute ¤

regs = {v: _rfor (k, v) in items() if startswith('X86_REG_')}
-

access module-attribute ¤

access = {v: _efor (k, v) in items() if startswith('CS_AC_')}
+   (pwndbg.aglib.disasm.x86.X86_MATH_INSTRUCTIONS)" href=#pwndbg.aglib.disasm.x86.X86_MATH_INSTRUCTIONS>X86_MATH_INSTRUCTIONS

groups module-attribute ¤

groups = {v: _9for (k, v) in items() if startswith('X86_GRP_')}
+

ops module-attribute ¤

ops = {v: _ffor (k, v) in items() if startswith('X86_OP_')}
+

regs module-attribute ¤

regs = {v: _Wfor (k, v) in items() if startswith('X86_REG_')}
+

access module-attribute ¤

access = {v: _9for (k, v) in items() if startswith('CS_AC_')}
 

X86_MATH_INSTRUCTIONS module-attribute ¤

X86_MATH_INSTRUCTIONS = {
     X86_INS_ADD: "+",
     X86_INS_SUB: "-",
diff --git a/dev/reference/pwndbg/gdblib/functions/index.html b/dev/reference/pwndbg/gdblib/functions/index.html
index 006d64c58..7d3b69777 100644
--- a/dev/reference/pwndbg/gdblib/functions/index.html
+++ b/dev/reference/pwndbg/gdblib/functions/index.html
@@ -21,7 +21,7 @@
 02:0010│  0x55555562d030 ◂— 0x65720021656d616e /* 'name!' */
 03:0018│  0x55555562d038 ◂— 'adline stdin'
 [...]
-

base ¤

base(name_pattern: str | Value) -> int
+

base ¤

base(name_pattern: str | Value)
 

Return the base address of the first memory mapping containing the given name.

Example:

pwndbg> p/x $base("libc")
 $4 = 0x7ffff7d4b000
 pwndbg> vmmap libc
diff --git a/dev/reference/pwndbg/lib/elftypes/index.html b/dev/reference/pwndbg/lib/elftypes/index.html
index a00452284..05eee6430 100644
--- a/dev/reference/pwndbg/lib/elftypes/index.html
+++ b/dev/reference/pwndbg/lib/elftypes/index.html
@@ -135,7 +135,7 @@
     47: "AT_L3_CACHEGEOMETRY",
     51: "AT_MINSIGSTKSZ",
 }
-

AT_CONSTANT_NAMES module-attribute ¤

AT_CONSTANT_NAMES = {v: _Gfor (k, v) in items()}
+

AT_CONSTANT_NAMES module-attribute ¤

AT_CONSTANT_NAMES = {v: _Afor (k, v) in items()}
 

constants ¤

Attributes: