your feedback send to: debugger@fyzor.com     
C++ debugger
Navigator
Main
Screenshots
Docs
Download
Sources
Plugins
API
History
Legend
Contacts
Links
Mail
Search
Search Site With Google
Надежный хостинг по доступным ценам!

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.

Project and site author: Sapunov Vladimir
(c) Copyright 2005-2008