always log EIP in backtraces
This commit is contained in:
@@ -670,6 +670,10 @@ void do_backtrace( const void **buf, size_t size,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
bool fValid = true;
|
bool fValid = true;
|
||||||
|
|
||||||
|
/* The first entry is EIP, which is always interesting, even if it's not valid. */
|
||||||
|
if( i != 0 )
|
||||||
|
{
|
||||||
MEMORY_BASIC_INFORMATION meminfo;
|
MEMORY_BASIC_INFORMATION meminfo;
|
||||||
|
|
||||||
VirtualQuery((void *)data, &meminfo, sizeof meminfo);
|
VirtualQuery((void *)data, &meminfo, sizeof meminfo);
|
||||||
@@ -679,6 +683,7 @@ void do_backtrace( const void **buf, size_t size,
|
|||||||
|
|
||||||
if ( data != (void *) pContext->Eip && !PointsToValidCall((unsigned long)data) )
|
if ( data != (void *) pContext->Eip && !PointsToValidCall((unsigned long)data) )
|
||||||
fValid = false;
|
fValid = false;
|
||||||
|
}
|
||||||
|
|
||||||
if( fValid )
|
if( fValid )
|
||||||
buf[i++] = data;
|
buf[i++] = data;
|
||||||
|
|||||||
Reference in New Issue
Block a user