Sources
Here are some source files that can be used as noted in license below.
I greatly apologize to english-spkoken users for comments in
russian. Maybe later I will translate them to english,
but currently there is no time for that.
MIT License
Copyright (C) 2006 Sapunov Vladimir
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Plug-ins
loadbcc.zip
- Plug-in for Borland OMF formats for BCC4, BCC5, BCC5.5 compilers.
loadvc.zip
- Plug-in for Microsoft CodeView formats for VisualC 5.0, 6.0 compilers.
sample.zip
- Plug-in demo. Adds a number of simple commands.
Miscellaneous
logfile.zip
- Source to create and write log files compatible with the debugger.
Snapshot of functions:
void LOG_Init (void);
void LOG_Shutdown (void);
void LOG_Write (char*, int nch);
void LOG_Print (char*);
void LOG_Printf (char*, ...);
void LOG_PrintV (char*format, va_list);
void LOG_Echo (char*, ...);
void LOG_Warn (char*, ...);
void LOG_Dump (void*, int);
void dog (char*, ...);
visor.zip
- Source to simplify debugging. Loads map files compatible with VisualC
and uses them to print stack frames at program crash.
Also attaches read/write data guards.
Snapshot of functions:
void VIS_ShowLastError (void);
void VIS_SetBreak (int point);
boolean VIS_SafeExecute (void (*func) (void));
boolean VIS_LoadMapfile (HMODULE);
void VIS_UnloadMapfile (HMODULE);
void VIS_Except (char*, ...);
boolean VIS_Guard (int index, void* adr, int size, boolean read);
void VIS_FormatAddress (DWORD, char[]);
void VIS_FormatHistory (DWORD[], int, char[]);
int VIS_Tick (void);
void VIS_SetTick (int);
void VIS_DumpFrames (void);
void VIS_PrintFrames (void);
void VIS_PrintHistory (int);
int VIS_GetHistory (DWORD[], int);
void VIS_GetCurrentFrame (DWORD[2]);
DWORD VIS_GetProcAddress (DWORD);
void* VIS_GetModule (void*);
boolean xVIS_Profile (void);
int xVIS_Tick (void);
int xVIS_ExceptionTick (void);
console.zip
- Source for debugging console.
Use function CON_Dispatch to create this window.
Snapshot of functions:
void CON_MsgCreate (HWND);
void CON_MsgDestroy (void);
void CON_MsgSize (void);
LRESULT CALLBACK CON_Dispatch (HWND, UINT, WPARAM, LPARAM);
void CON_Clean (void);
void CON_Print (char*fmt);
void CON_Printf (char*fmt, ...);
void CON_PrintV (char*fmt, va_list);
void CON_Dump (void*data, int);
void CON_Lock (int);
boolean CON_TextError (char*section, char*start,
char*pos, char*, ...);
boolean CON_TextErrorV (char*section, char*start,
char*pos, char*, va_list);
Formats Documentation
Here is the original documentation of debugging formats.
Some documents are in PDF. So, you must have Acrobat Reader to read them.
DWARF.pdf
(721 Kb) - ELF, DWARF, original OMF.
CodeView.pdf
(401 Kb) - PE headers, CodeView OMF.
Borland.txt
(116 Kb) - Borland OMF.
|