ntdll.dll!_DbgBreakPoint@0()
ntdll.dll!_RtlpBreakPointHeap@4() + 0x28
ntdll.dll!_RtlpCoalesceFreeBlocks@16() + 0x38f6f
ntdll.dll!_RtlFreeHeapSlowly@12() + 0xf2
ntdll.dll!_RtlDebugFreeHeap@12() + 0x193
ntdll.dll!_RtlFreeHeapSlowly@12() + 0x23d19
ntdll.dll!_RtlFreeHeap@12() + 0x16470
msvcr71.dll!7c34218a()
msvcr71.dll!7c34218f()
msvcr71.dll!7c3609e4()
[Our executable, calling _aligned_free( pData ); ]
From the callstack in the debugger above, I can tell quite quickly
that we've stomped memory in the heap, and the system is unhappy about
it. I even know which function it's in, and which programmer broke the
code. However, that's because I'm running the app under the
debugger. We have other people at the office running this app who
don't have DevStudio installed. When they get a crash like the above,
they get the "Send a report to MS?" dialog. We consider that to be
useless, as I doubt anything will ever come of sending such a report.
I've done some google searching on the web and on these usenet
groups, and I can't seem to find any easy way to catch such errors.
We've got a pretty nice internal crash reporting system that does a
text dump of the callstack (thanks to dbghelp.dll), collates logs,
etc. It's handling exceptions, and anything that could be sent thru
_set_security_error_handler() and _RTC_SetErrorFunc() . However, I'd
like to catch errors like the heap error noted above as well. Is
there another handler I can register with? Are there more handlers I
can register with, besides the ones I listed already? (Pointers to a
full list would be useful).
Thanks in advance for any help that can be given.
Nathan Mates
--
<*> Nathan Mates - personal webpage http://www.visi.com/~nathan/
# Programmer at Pandemic Studios -- http://www.pandemicstudios.com/
# NOT speaking for Pandemic Studios. "Care not what the neighbors
# think. What are the facts, and to how many decimal places?" -R.A. Heinlein
To disable the Application Error Reporting tool, add a DWReportee value of 1
to following registry keys:
HKEY_CURRENT_USER\Software\Policies\Microsoft\PCHealth\ErrorReporting\DW
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\PCHealth\ErrorReporting\DW
HKEY_CURRENT_USER\Software\Microsoft\PCHealth\ErrorReporting\DW
HKEY_LOCAL_MACHINE\Software\Microsoft\PCHealth\ErrorReporting\DW
--
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Nathan Mates" <nat...@visi.com> wrote in message
news:12lpm7i...@corp.supernews.com...
Isn't "Application Error Reporting" only used for Office applications? What
is the difference between Office "Application Error Reporting" and Windows
Error Reporting?
Based on my experience, the default Windows Error Reporting can be disabled
by Right click “My Computer”->Properties->”Advanced” tabpage->”Error
Reporting” dialog. I suspect it is this setting that applies to all Windows
applications.
Additionally, Nathan, you may use SetUnhandledExceptionFilter to register a
global exception reporter for the entire process failure.
Thanks.
--
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of any included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Fudan Boy" <fuda...@fudan.edu.cn> wrote in message
news:ODB79T9C...@TK2MSFTNGP02.phx.gbl...