![]() |
||
---|---|---|
.. | ||
Debugger | ||
DebuggerExtras | ||
DebuggerSymbols | ||
Properties | ||
Resources | ||
Win32 | ||
App.config | ||
Common.cs | ||
CxbxDebugger.csproj | ||
DebugOutputManager.cs | ||
FileEventManager.cs | ||
FileWatchManager.cs | ||
Form1.Designer.cs | ||
Form1.cs | ||
Form1.resx | ||
PatchManager.cs | ||
Program.cs | ||
README.md | ||
RicherTextBox.cs | ||
ThreadHelpers.cs |
README.md
CxbxDebugger
CxbxDebugger is an experimental tool to aid debugging Xbox executables from within Cxbx.
The goal is to resolve XBE symbols using the function signatures identified by Cxbx-Reloaded.
This is a workaround for patching or creating PDB files at runtime for Cxbx-Reloaded (where the memory region is pre-allocated - see virtual_memory_placeholder
). However, in future it may be viable to supporting loading symbols from matching PDB files.
Methods
The debugger is a standalone C# application which wraps the child instance of Cxbx-Reloaded used to launch the XBE file.
It uses the debugger API provided by Windows, primarily WaitForDebugEvent and ContinueDebugEvent. The C# implementation is taken from the VsChromium project.
Roadmap
Primary
Create wrapper for the Cxbx-Reloaded child processSupport new threadsSupport displaying of interrupts and exceptions- Support resolving relevant XBE symbols from a callstack
Secondary
Suspending threads and checking memoryBreakpoints - inserting and handling interrupts
Thanks
-
The Chromium Project for @VsChromium, specifically these Win32 sources
-
Sebastian Solnica (@lowleveldesign) for Process Governor and MinDBG