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:
@@ -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}
|
%%\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
|
This function is called when an assert failure occurs, i.e. the condition
|
||||||
specified in \helpref{wxASSERT}{wxassert} macro evaluated to {\tt false}.
|
specified in \helpref{wxASSERT}{wxassert} macro evaluated to {\tt false}.
|
||||||
It is only called in debug mode (when {\tt \_\_WXDEBUG\_\_} is defined) as
|
It is only called in debug mode (when {\tt \_\_WXDEBUG\_\_} is defined) as
|
||||||
asserts are not left in the release code at all.
|
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.
|
the user to stop the program, continue or ignore all subsequent asserts.
|
||||||
|
|
||||||
\wxheading{Parameters}
|
\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{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
|
\docparam{msg}{the message specified as argument to
|
||||||
\helpref{wxASSERT\_MSG}{wxassertmsg} or \helpref{wxFAIL\_MSG}{wxfailmsg}, will
|
\helpref{wxASSERT\_MSG}{wxassertmsg} or \helpref{wxFAIL\_MSG}{wxfailmsg}, will
|
||||||
|
@@ -245,13 +245,22 @@ public:
|
|||||||
// debugging support
|
// debugging support
|
||||||
// -----------------
|
// -----------------
|
||||||
|
|
||||||
|
#ifdef __WXDEBUG__
|
||||||
// this function is called when an assert failure occurs, the base class
|
// this function is called when an assert failure occurs, the base class
|
||||||
// version does the normal processing (i.e. shows the usual assert failure
|
// version does the normal processing (i.e. shows the usual assert failure
|
||||||
// dialog box)
|
// 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
|
// 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,
|
virtual void OnAssert(const wxChar *file,
|
||||||
int line,
|
int line,
|
||||||
const wxChar *cond,
|
const wxChar *cond,
|
||||||
|
Reference in New Issue
Block a user