The WinAPI GetFinalPathNameByHandle is used to retrieve the DLL file
name from the HANDLE provided to LOAD_DLL_DEBUG_EVENT in the debug
loop. When this API fails, lldb will simply ignore that module.
Certain ramdisk (e.g. ImDisk) does not work with this API, which means
it is impossible to use lldb to debug a process which loads DLLs located
on this type of ramdisk. In order to make this work, we need to use a
fallback routine which involves creating a file mapping, using
GetMappedFileName to get a device path, then substitutes the device
path with its drive letter.
References:
Do you need a check against NULL here in view_deleter?