strace: Don't print exception info for SetThreadName exception
The new functionality to set the thread name for debugging purposes creates exception debugging events. These are printed out when running strace. Since these exceptions have nothing to do with real exceptions but are, like breakpoint execptions, expected and non-fatal, don't print exception info for them. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
472e5439e7
commit
a157df3165
|
@ -751,15 +751,19 @@ proc_child (unsigned mask, FILE *ofile, pid_t pid)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EXCEPTION_DEBUG_EVENT:
|
case EXCEPTION_DEBUG_EVENT:
|
||||||
if (ev.u.Exception.ExceptionRecord.ExceptionCode
|
switch (ev.u.Exception.ExceptionRecord.ExceptionCode)
|
||||||
!= (DWORD) STATUS_BREAKPOINT)
|
|
||||||
{
|
{
|
||||||
|
case STATUS_BREAKPOINT:
|
||||||
|
case 0x406d1388: /* SetThreadName exception. */
|
||||||
|
break;
|
||||||
|
default:
|
||||||
status = DBG_EXCEPTION_NOT_HANDLED;
|
status = DBG_EXCEPTION_NOT_HANDLED;
|
||||||
if (ev.u.Exception.dwFirstChance)
|
if (ev.u.Exception.dwFirstChance)
|
||||||
fprintf (ofile, "--- Process %lu, exception %08lx at %p\n",
|
fprintf (ofile, "--- Process %lu, exception %08lx at %p\n",
|
||||||
ev.dwProcessId,
|
ev.dwProcessId,
|
||||||
ev.u.Exception.ExceptionRecord.ExceptionCode,
|
ev.u.Exception.ExceptionRecord.ExceptionCode,
|
||||||
ev.u.Exception.ExceptionRecord.ExceptionAddress);
|
ev.u.Exception.ExceptionRecord.ExceptionAddress);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue