This change adds a new field to the ProcessStartInfo struct in UBA trace files for a description of the task, called "breadcrumbs" which allow to diagnose and backtrace the origin of a UBA task.
This is also hooked up to the distributed shader compilation (added as new field in FTaskCommandData) and a descriptive string is generated for each shader compile job batch.
UbaVisualizer is updated accordingly to integrate this new data when hovering over a task in the timeline.
This feature can be enabled via the new CVar "r.ShaderCompiler.DistributedJobDescriptionLevel" with values 0 (Disabled), 1 (Basic information), 2 (Adds shader format to each job). It's disabled by default.
#rb dan.elksnitis, henrik.karlsson
#rnx
[CL 36346831 by laura hermanns in 5.5 branch]
* Fixed so MoveFile/CopyFile works with child processes. Now parent's "writtenfiles" is read from child process upon start
* Fixed some bugs related to spawning child processes with poorly formatted paths
* Fixed hang if parent process crashes after starting child process
[CL 35982637 by henrik karlsson in ue5-main branch]
* Added HostRun command which can be used to send commands from remotes to host. command will return stdout
[CL 35946269 by henrik karlsson in ue5-main branch]
* Fixed so code parsing dylib dependencies work properly on mac. dylibs in other folders are not properly transferred to the remote helper
[CL 35904599 by henrik karlsson in ue5-main branch]
* Added UBA_DETOURED=1 environment variable to environment for detoured processes so applications can query if they are detoured or not
[CL 35745179 by henrik karlsson in ue5-main branch]
* Added support for reading symbols out of import libraries
* Fixed so objfiletool supports compressed obj files
* Minor cleanup in FileAccessor
[CL 35610806 by henrik karlsson in ue5-main branch]
* Added support for parsing LLVM IR stream obj files and extracing import/export symbols plus clearing out export symbols
* Added support for writing import libs from list of exported symbols
* Some fixes around extract symbol feature when writing obj files
[CL 35600934 by henrik karlsson in ue5-main branch]
* Fixed so temporary files stored in memory is properly updated when created in process, written to in child process and read in parent process.
* Changed so stdin/out/err are different handle types and fixed up code around this
* Fixed so ispc.exe handles extract import/export when building for non-windows
[CL 35254952 by henrik karlsson in ue5-main branch]
* Added -config=<file> support to UbaVisualizer
* Added "GetOwnerInfo" which can be used to get id and pid for owner.. right now devenv.exe is the only tracked owner but can add support for more applications
* Fixed so both trace name and default config name is affected by owner info.. this means a UbaVisualizer launched from inside visual studio will use a different config file
* Fixed bugs related to replays of active trace in visualizer
[CL 34852915 by henrik karlsson in ue5-main branch]
* Added "active processes" view in visualizer. Easier to get an overview
* Changed so session stats is written into trace file as soon as possible
* Added support for some more types in config file add/write
* Added dedicated path for updateProgress into session in order to minimize trace file and have custom rendering for progress
* Added support for changing font size in visualizer
* Added option to enable autosaving settings in visualizer
* Fixed so it is possible to jump around in active named trace in UbaVisualizer
* Added hyperlink support ro status update so user can click on the text to follow the link
[CL 34827240 by henrik karlsson in ue5-main branch]
* Changed so code getting processor frequency uses registry instead of CallNtPowerInformation since we want a number that is the same every time and CallNtPowerInformation + MaxMhz does not do that
[CL 34789007 by henrik karlsson in ue5-main branch]
* Fixed naming of log files when produced by remote sessions. Now suffix is using process id instead of counter number
* Removed m_id from Session (not used)
* Added so Scheduler MaxLocalProcessors can be controlled from config files
[CL 34781250 by henrik karlsson in ue5-main branch]
* Fixed so bad file path entries are not saved to casdb file
* Added so allow proxy can be set from config files
* Added assert for if bad files have entered the cas entry directory on disk
[CL 34476627 by henrik karlsson in ue5-main branch]
* Added so remote helpers register output files to file mapping in case there are child processes that wants to read the output of parent processes
[CL 34397713 by henrik karlsson in ue5-main branch]