Updated Child Process Debugging (markdown)

Margen67 2018-05-08 20:43:13 -07:00
parent e95aee54c5
commit ac1f67e6a8
1 changed files with 11 additions and 9 deletions

@ -1,10 +1,12 @@
# Child Process Debugging
Cxbx is currently engineering to create and run a new instance of itself (`Cxbx.exe`), known as a child process.
Cxbx is currently engineering a way to run a new instance of itself as a child process.
For development, it is strongly recommended you install [Microsoft Child Process Debugging Power Tool](https://marketplace.visualstudio.com/items?itemName=GreggMiskelly.MicrosoftChildProcessDebuggingPowerTool) to support child process debugging from within Visual Studio.
Once setup, the extension attaches automatically, and supports all the standard IDE features - **although will not detect symbols inside XBE memory regions** - mapping instead to the `virtual_memory_placeholder` placeholder stub (you will still see callstacks though).
Once setup, the extension attaches automatically.
It supports all the standard IDE features **but will not detect symbols inside XBE memory regions,** instead mapping to the `virtual_memory_placeholder` placeholder stub. You will still see callstacks, though.
## Setup
@ -17,22 +19,22 @@ Install the extensions. You will need to close down any open Visual Studio insta
5. Leave Action as `Attach Debugger` and `Debugger Type` as `<Inherit from parent process>`
6. Make sure `Persist settings to` is set to `Hidden solution user options file (SUO file)` and hit Save (top right)
You just need to do this once.
You only need to do this once.
## Usage
Once emulation has started, Visual Studio will list 2 `Cxbx.exe` processes on the toolbar
Once emulation has started, Visual Studio will list two `Cxbx.exe` processes on the toolbar
You can re-show this toolbar by checking `View -> Toolbars -> Debug Location`)
You can reshow this toolbar by checking `View -> Toolbars -> Debug Location`)
The emulated process will have 2 threads named **Cxbx NV2A VBLANK** and **Cxbx NV2A FIFO**
The emulated process will have two threads named **Cxbx NV2A VBLANK**, and **Cxbx NV2A FIFO**.
## Cxbx Debugger Workflow
The Cxbx-Reloaded project includes a basic debugger (written in C#) to support extra Xbox-specific emulation features in addition to debugging the child process.
The Cxbx-Reloaded project includes a basic debugger written in C# to support extra Xbox-specific emulation features in addition to debugging the child process.
**Only one user-mode debugger can be attached to a process at one time**
**Only one user-mode debugger can be attached to a process at one time.**
With the Child Process extension, you will need to:
@ -44,4 +46,4 @@ With the Child Process extension, you will need to:
6. Set `Debugger Type` as `Managed (v4.6, v4.5, v4.0)`
7. Make sure `Persist settings to` is set to `Hidden solution user options file (SUO file)` and hit Save (top right)
You just need to do this once.
You only need to do this once.