зеркало из https://github.com/mozilla/gecko-dev.git
4d8e18962b
A long standing issue is that MOZ_ASSERT and related don't print stack traces in debug builds when they're directly or indirectly emitted from non-libxul code. Moving WalkTheStack to mozglue alleviates the problem. It's also not printing stack traces when emitted from C code (and for some C third party libraries, we do redirect assert to MOZ_ASSERT), which we solve by making the corresponding API available without C++ (which WalkTheStack being a static method of the nsTraceRefCnt class didn't allow, or the use of a closure on Android). This requires some adjustements to headers that indirectly assume that Assertions.h includes ErrorList.h through nsError.h through nscore.h through nsTraceRefcnt.h. We also remove TestStackCrawl.cpp because it hasn't been built since bug 158528, 19 years ago. Differential Revision: https://phabricator.services.mozilla.com/D108913 |
||
---|---|---|
.. | ||
decimal | ||
interceptor | ||
AutoProfilerLabel.cpp | ||
AutoProfilerLabel.h | ||
ConditionVariable_posix.cpp | ||
ConditionVariable_windows.cpp | ||
Debug.h | ||
DynamicallyLinkedFunctionPtr.h | ||
ImportDir.h | ||
IntegerPrintfMacros.h | ||
MmapFaultHandler.cpp | ||
MmapFaultHandler.h | ||
MutexPlatformData_posix.h | ||
MutexPlatformData_windows.h | ||
Mutex_posix.cpp | ||
Mutex_windows.cpp | ||
NativeNt.h | ||
PlatformConditionVariable.h | ||
PlatformMutex.h | ||
PreXULSkeletonUI.cpp | ||
PreXULSkeletonUI.h | ||
Printf.cpp | ||
Printf.h | ||
Sprintf.h | ||
StackWalk.cpp | ||
StackWalk.h | ||
StackWalkThread.h | ||
StackWalk_windows.h | ||
TimeStamp.cpp | ||
TimeStamp.h | ||
TimeStamp_darwin.cpp | ||
TimeStamp_posix.cpp | ||
TimeStamp_windows.cpp | ||
TimeStamp_windows.h | ||
Uptime.cpp | ||
Uptime.h | ||
WinUtils.h | ||
WindowsDpiAwareness.h | ||
WindowsMapRemoteView.cpp | ||
WindowsMapRemoteView.h | ||
WindowsProcessMitigations.cpp | ||
WindowsProcessMitigations.h | ||
WindowsUnicode.cpp | ||
WindowsUnicode.h | ||
moz.build | ||
nsWindowsDllInterceptor.h |