рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореБрдЭреЗ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдерд╛ред рдПрдХ рдЧрд▓рддреА рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдЬрд░реВрд░реА рдерд╛ред рддреНрд░реБрдЯрд┐ рддреИрд░ рд░рд╣реА рдереА рдФрд░ рд╕реНрдЯреИрдВрдб рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдзреЗ рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж рдПрдХ рджрд╛рд╕ред рдФрд░ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЛрдб рдХреЗ рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:
void dbg(const char * AMsg);
рдЬреЛ рд▓реЙрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрди рд▓рд┐рдЦрд╛ рдерд╛ред рдпрд╣ рдЬрд▓реНрдж рд╣реА рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ рдФрд░ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:
void dbg(const char * AFmt, ...);
рдпрд╛рдиреА рдЕрдм рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╕реНрд╡рд░реВрдкрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП vfprintf () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рдЧрдИ, рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рджреЛ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЕрд░реНрдерд╛рддреН __LINE__ рдФрд░ __FILE__ред рдореИрдВ рдЗрди рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП dbg () рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдПрдХ рдореИрдХреНрд░реЛ рд░реИрдкрд░ рд▓рд┐рдЦрдирд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рдЪрд░ рд╕рдВрдЦреНрдпрд╛ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рдореВрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рдкрд╣рд▓реЗ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдФрд░ рд▓рд╛рдЗрди рдирдВрдмрд░ рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдЧрд╛ред
Googling, рдореБрдЭреЗ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛
рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ - рд╡рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдореЗрдВ рдСрдкрд░реЗрдЯрд░ () рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВрдиреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕реНрдХреЗрдЪ рдХрд┐рдпрд╛, рдПрдХ рдирдП рдореИрдХреНрд░реЛ рдФрд░ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдкреНрд░рд╕рдиреНрди рдерд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдореВрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдЬреЛрдбрд╝рд╛, рдореИрдВрдиреЗ "StdAfx.h" рдореЗрдВ h- рдлрд╛рдЗрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдмрд┐рд▓реНрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ред рдФрд░ рдлрд┐рд░ рдореИрдВ рдПрдХ рдЧрд╣рд░реА рдирд┐рд░рд╛рд╢рд╛ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЧрдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╢реБрджреНрдз рд╕реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдореЗрд░реА рдХрдХреНрд╖рд╛рдУрдВ рдиреЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдерд╛ред
рдЕрднреА рддрдХ рдЧреБрдЧрд▓реА рдХрд░рдирд╛, рдореБрдЭреЗ
рдРрд╕рд╛ рдЙрдкрд╛рдп рдорд┐рд▓рд╛ред рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдореИрдВрдиреЗ VC6 рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ ...
рдФрд░ рдлрд┐рд░ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ - рдареАрдХ рд╣реИ, рдХрд┐ рдЕрдЧрд░ рдореИрдХреНрд░реЛ рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ __FILE__ рдФрд░ __LINE__ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд▓реЗ рдЬрд╛рдПрдЧрд╛, рддреЛ рдЙрдиреНрд╣реЗрдВ рдХрд╣реАрдВ рдФрд░ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдореВрд▓ dbg () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд▓реМрдЯрд╛рдПрдВред рдФрд░ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рд╣реЗрдЬреЗ рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрдврд╝реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦ рджреЗрдЧрд╛ред рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░реЛрдВ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдФрд░ рдЪрд░ рдЦреБрдж рдХреЛ, рддрд╛рдХрд┐ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди рд░реЗрдХ рдореЗрдВ рди рдЪрд▓реЗрдВ, __declspec (рдереНрд░реЗрдб) рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВред рдмреА рдпрд╣рд╛рдБ рдЕрдВрдд рдореЗрдВ рдХреНрдпрд╛ рд╣реБрдЖ рд╣реИ:
рдЬ рдлрд╝рд╛рдЗрд▓
рд╕реАрдкреАрдкреА рдлрд╝рд╛рдЗрд▓
рд╡рд╣ рд╕рдм рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕ рдкрд░ рдореИрдВ рд╡рд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд╡рд╣ рд╣реИ рдлрд╝рдВрдХреНрд╢рди DbgFuncRet () рдХреА рдШреЛрд╖рдгрд╛
#ifdef __cplusplus extern "C" #endif DbgFuncType DbgFuncRet(const char* AFile, int ALine);
рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рд╢реАрд░реНрд╖рд▓реЗрдЦ рд╕реА рдФрд░ рд╕реАрдкреАрдкреА рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд╛рдо рдЕрдиреБрд╡рд╛рджрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕рдЬрд╛рд╡рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдШреЛрд╖рдгрд╛ рд╕рдВрдХрд▓рдХ рдХреЛ рд╣рдореЗрд╢рд╛ рд╕реА рд╕рдЬрд╛рд╡рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИред