show the function in which the assert failure occured if the compiler supports it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-03-21 15:47:24 +00:00
parent 20a4311e7f
commit 3ec4a23f50
2 changed files with 18 additions and 6 deletions

View File

@@ -268,16 +268,16 @@ Returns 0 under X, and the wParam of the WM\_QUIT message under Windows.
%%\helpref{wxWindow::OnCharHook}{wxwindowoncharhook}, \helpref{wxDialog::OnCharHook}{wxdialogoncharhook}
\membersection{wxApp::OnAssert}\label{wxapponassert}
\membersection{wxApp::OnAssertFailure}\label{wxapponassertfailure}
\func{void}{OnAssert}{\param{const wxChar }{*file}, \param{int }{line}, \param{const wxChar }{*cond}, \param{const wxChar }{*msg}}
\func{void}{OnAssertFailure}{\param{const wxChar }{*file}, \param{int }{line}, \param{const wxChar }{*func}, \param{const wxChar }{*cond}, \param{const wxChar }{*msg}}
This function is called when an assert failure occurs, i.e. the condition
specified in \helpref{wxASSERT}{wxassert} macro evaluated to {\tt false}.
It is only called in debug mode (when {\tt \_\_WXDEBUG\_\_} is defined) as
asserts are not left in the release code at all.
The base class version show the default assert failure dialog box proposing to
The base class version shows the default assert failure dialog box proposing to
the user to stop the program, continue or ignore all subsequent asserts.
\wxheading{Parameters}
@@ -286,7 +286,10 @@ the user to stop the program, continue or ignore all subsequent asserts.
\docparam{line}{the line number in this file where the assert occurred}
\docparam{cond}{the condition of the failed assert in string form}
\docparam{func}{the name of the function where the assert occurred, may be
empty if the compiler doesn't support C99 \texttt{\_\_FUNCTION\_\_}}
\docparam{cond}{the condition of the failed assert in text form}
\docparam{msg}{the message specified as argument to
\helpref{wxASSERT\_MSG}{wxassertmsg} or \helpref{wxFAIL\_MSG}{wxfailmsg}, will

View File

@@ -245,13 +245,22 @@ public:
// debugging support
// -----------------
#ifdef __WXDEBUG__
// this function is called when an assert failure occurs, the base class
// version does the normal processing (i.e. shows the usual assert failure
// dialog box)
//
// the arguments are the place where the assert occurred, the text of the
// the arguments are the location of the failed assert (func may be empty
// if the compiler doesn't support C99 __FUNCTION__), the text of the
// assert itself and the user-specified message
#ifdef __WXDEBUG__
virtual void OnAssertFailure(const wxChar *file,
int line,
const wxChar *func,
const wxChar *cond,
const wxChar *msg);
// old version of the function without func parameter, for compatibility
// only, override OnAssertFailure() in the new code
virtual void OnAssert(const wxChar *file,
int line,
const wxChar *cond,