Commit Graph

57 Commits

Author SHA1 Message Date
Mark Satterthwaite
90b69f46ed Implement Source Context reporting for Mac CrashReportClient as requested in UE-16101.
- This CL also exports the PLCrashReporter dump from binary format to text so that it is legible without further processing.

[CL 2610391 by Mark Satterthwaite in Main branch]
2015-07-03 10:06:17 -04:00
Jaroslaw Surowiec
c572e90e90 CrashReport - Better callstacks for crashes in runnable threads
[CL 2593278 by Jaroslaw Surowiec in Main branch]
2015-06-19 06:00:12 -04:00
Jaroslaw Surowiec
e055519b12 CrashReport - UE-17082/Project debug symbols are no longer included in crash reporter callstacks
[CL 2589892 by Jaroslaw Surowiec in Main branch]
2015-06-17 06:47:31 -04:00
Bob Tellez
5d2fd8b7fb [AUTOMERGE]
#UE4 Reducing dependencies on Version.h

#platformnotify Josh.Adams

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2585810 by Bob.Tellez on 2015/06/12 11:30:33.

[CL 2585846 by Bob Tellez in Main branch]
2015-06-12 12:01:23 -04:00
Jaroslaw Surowiec
1845be5417 CrashDebugHelper - Fixed not working OLD_ENGINE version macro
[CL 2573630 by Jaroslaw Surowiec in Main branch]
2015-06-02 05:25:39 -04:00
Jaroslaw Surowiec
72413f509a CrashDebugHelper - Symbol location also has the binaries now
[CL 2564656 by Jaroslaw Surowiec in Main branch]
2015-05-26 04:26:44 -04:00
Jaroslaw Surowiec
15fe21a39e MinidumpDiagnostics - Added a simple crash handler that prints the callstack to the log
[CL 2564318 by Jaroslaw Surowiec in Main branch]
2015-05-25 12:14:35 -04:00
Jaroslaw Surowiec
6ae1dab2cd Crash report
UECORE-164/Source context is not working properly for crashes from the UE4 releases
UE-13693/frequent crashes give "No disk in drive" error
UE-15369/UE-Various: Been getting "There is no Disk in the drive" crashreporter error. On orion the message is there permeneantly.

[CL 2558844 by Jaroslaw Surowiec in Main branch]
2015-05-20 11:21:58 -04:00
Jaroslaw Surowiec
73d93ad2ae CrashDebugHelper - Fixed source context not showing the source
[CL 2547134 by Jaroslaw Surowiec in Main branch]
2015-05-12 09:31:16 -04:00
Jaroslaw Surowiec
888171058e Core - Removes old UE4 crash contexts, better processing for 'looped' ensures
[CL 2539391 by Jaroslaw Surowiec in Main branch]
2015-05-06 11:58:31 -04:00
Jaroslaw Surowiec
a7d724fb49 CrashDebugHelper - Added line numbers for annotated files
[CL 2537658 by Jaroslaw Surowiec in Main branch]
2015-05-05 12:45:43 -04:00
Jaroslaw Surowiec
1ff595cc33 CrashDebugHelper - Annotate for source files
[CL 2535598 by Jaroslaw Surowiec in Main branch]
2015-05-04 07:27:21 -04:00
Jaroslaw Surowiec
072f0ee95c MDD - Fixed PDB cache not working
[CL 2530004 by Jaroslaw Surowiec in Main branch]
2015-04-29 07:03:16 -04:00
Marc Audy
aed1f9acc9 Fix CrashReporter shadow variables
#lockdown Zachary.EdgertonJones

[CL 2521930 by Marc Audy in Main branch]
2015-04-22 17:58:53 -04:00
PaulEremeeff
c9a246101e PR #1013: Fixing PVS-Studio warnings. (Contributed by PaulEremeeff)
Some files have been omitted and will be submitted with modified corrections

[CL 2505544 by Dan Oconnor in Main branch]
2015-04-08 14:46:25 -04:00
Jaroslaw Surowiec
c1340a6cc9 CrashDebugHelper - Added support for Fortnite
[CL 2495021 by Jaroslaw Surowiec in Main branch]
2015-03-28 08:27:58 -04:00
Jaroslaw Surowiec
308b42ff2f CrashDebugHelper - Fixed source context showing bad source
[CL 2471882 by Jaroslaw Surowiec in Main branch]
2015-03-07 06:46:11 -05:00
Jaroslaw Surowiec
1e90f8618e CrashDebugHelper - Added support for indexed depot/PDB cache, will be used by multiple instance of the crash processor
[CL 2467797 by Jaroslaw Surowiec in Main branch]
2015-03-03 12:24:16 -05:00
Saul Abreu
79a26091bf Fixed behavior on FString::ParseIntoArray (muliple delimiters overload) functionality to support optionally culling empty strings. Greatly simplified implementation logic. Output parameter now properly named and taken by reference.
#codereview Steve.Robb, Robert.Manuszewski

[CL 2466824 by Saul Abreu in Main branch]
2015-03-02 15:51:37 -05:00
Mark Satterthwaite
88751c6da8 Rewritten debug symbol handling for OS X to allow creation of dSYM bundles & symbol stripping of executables.
- The MacToolChain will emit dSYMs and strip executables when the UBT configuration enables bGeneratedSYMFile, just like iOS.
- Symbol stripping requires generating dSYMs to prevent creation of non-debuggable builds whose crash reports would be unresolvable.
- To avoid a dependency on the Private framework CoreSymbolication all symbols from that framework are loaded dynamically & can only be used within programs, not the game or the editor, as CoreSymbolication is incompatible with non-ANSI malloc implementations.
- Added an initial platform-agnostic API for querying debug symbol info, including a generic database format that can be queried on otherwise incompatible platforms.
- Added UnrealAtoS that emulates Apple's atos to resolve symbols using the generic database or the platform API (CoreSymbolication on OS X) which on OS X is used by the editor to gather symbol info for CodeView.
- Added DSymExporter which will export Apple debug symbol data from Mach-O binaries, including the payload within a .dSYM bundle, to the generic format so that the crash report server may one day read the data without needing a Mac to symbolicate reports.
- Initial SymbolDebugger & MinidumpDiagnostics support on OS X.
#codereview michael.trepka, Jaroslaw.Surowiec, lee.clark, peter.sauerbrei

[CL 2466299 by Mark Satterthwaite in Main branch]
2015-03-02 10:21:50 -05:00
Jaroslaw Surowiec
c992fa1169 CrashDebugHelper - Removed all obsolete functionality, will reimplement later, cleaned a lof of stuff, better support for network builds
[CL 2466180 by Jaroslaw Surowiec in Main branch]
2015-03-02 07:52:38 -05:00
Mark Satterthwaite
8ab2597ffb On OS X use PLCrashReporter instead of our own signal handlers as it is considerably more reliable.
- FMacPlatformProcess::IsSandboxedApplication will return true if and only if the application is running within an OS X application sandbox, this can be used to ensure that UE4 only accesses sandbox-safe APIs.
- The crashed application isn't held open waiting for the crash reporter as if you try it will then crash again in Apple's XPC code after exiting waitpid (with or without PLCrashReporter) & I've not yet been able to determine why.
- We can use a new 10.10 NSProcess call to access the OS version number - no need to access the CoreServices plist unless we want the build number (unavailable within the sandbox).
- Fixed some symbolication bugs, PLCrashReport crash reports will symbolicate reliably.
- We can't copy the crash text to the clipboard when handling an actual crash in OS X as that the code requires Objecive-C which is incompatible with POSIX-signal or Mach-O exception handling routines & will hang or crash the application again. This often results in an application icon that cannot be removed from the Dock & requires a force-restart of the machine.
#codereview michael.trepka

[CL 2466174 by Mark Satterthwaite in Main branch]
2015-03-02 07:34:19 -05:00
Jaroslaw Surowiec
ea397fe6a8 CrashDebugHelper - Added support to processing crashes where builds are not placed in P4, but only in the network drive
[CL 2415217 by Jaroslaw Surowiec in Main branch]
2015-01-22 08:03:55 -05:00
Jaroslaw Surowiec
e802d82bd0 CrashReport - Optimized FWindowsPlatformStackWalkExt::SetSymbolPathsFromModules, should be faster, removed recursion, optimized GetCallstacks to not use stack memory, now that code can be executed in thread pool where stack size is 32kb
[CL 2410655 by Jaroslaw Surowiec in Main branch]
2015-01-19 04:02:38 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00