{"push_id":2499887093,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"18c03aa9622b1629d80fe2cf27cae1817c7b921a","before":"435dabf61b8921ad7fc28065527257ee3e09eb3d","commits":[{"sha":"07d4ca6c2a9835e9c6c4aff0a335fe064ae69c82","author":{"name":"Leonard Mosescu","email":"a498b187a5d2699f346338eaceae9af4ef9cb2c6@google.com"},"message":"Improve LLDB's handling of non-local minidumps\n\nNormally, LLDB is creating a high-fidelity representation of a live\nprocess, including a list of modules and sections, with the \nassociated memory address ranges. In order to build the module and\nsection map LLDB tries to locate the local module image (object file)\nand will parse it.\n\nThis does not work for postmortem debugging scenarios where the crash\ndump (minidump in this case) was captured on a different machine.\n\nFortunately the minidump format encodes enough information about\neach module's memory range to allow us to create placeholder modules.\nThis enables most LLDB functionality involving address-to-module\ntranslations.\n\nAlso, we may want to completly disable the search for matching\nlocal object files if we load minidumps unless we can prove that the\nlocal image matches the one from the crash origin.\n(not part of this change, see: llvm.org/pr35193)\n\nExample: Identify the module from a stack frame PC:\n\nBefore:\n  thread #1, stop reason = Exception 0xc0000005 encountered at address 0x164d14\n    frame #0: 0x00164d14\n    frame #1: 0x00167c79\n    frame #2: 0x00167e6d\n    frame #3: 0x7510336a\n    frame #4: 0x77759882\n    frame #5: 0x77759855\n\nAfter:\n  thread #1, stop reason = Exception 0xc0000005 encountered at address 0x164d14\n    frame #0: 0x00164d14 C:\\Users\\amccarth\\Documents\\Visual Studio 2013\\Projects\\fizzbuzz\\Debug\\fizzbuzz.exe\n    frame #1: 0x00167c79 C:\\Users\\amccarth\\Documents\\Visual Studio 2013\\Projects\\fizzbuzz\\Debug\\fizzbuzz.exe\n    frame #2: 0x00167e6d C:\\Users\\amccarth\\Documents\\Visual Studio 2013\\Projects\\fizzbuzz\\Debug\\fizzbuzz.exe\n    frame #3: 0x7510336a C:\\Windows\\SysWOW64\\kernel32.dll\n    frame #4: 0x77759882 C:\\Windows\\SysWOW64\\ntdll.dll\n    frame #5: 0x77759855 C:\\Windows\\SysWOW64\\ntdll.dll\n\nExample: target modules list\n\nBefore:\nerror: the target has no associated executable images\n\nAfter:\n[ 0] C:\\Windows\\System32\\MSVCP120D.dll \n[ 1] C:\\Windows\\SysWOW64\\kernel32.dll \n[ 2] C:\\Users\\amccarth\\Documents\\Visual Studio 2013\\Projects\\fizzbuzz\\Debug\\fizzbuzz.exe \n[ 3] C:\\Windows\\System32\\MSVCR120D.dll \n[ 4] C:\\Windows\\SysWOW64\\KERNELBASE.dll \n[ 5] C:\\Windows\\SysWOW64\\ntdll.dll\n\nNOTE: the minidump format also includes the debug info GUID, so we can\nfill-in the module UUID from it, but this part was excluded from this change\nto keep the changes simple (the LLDB UUID is hardcoded to be either 16 or\n20 bytes, while the CodeView GUIDs are normally 24 bytes)\n\nDifferential Revision: https://reviews.llvm.org/D45700\n\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@330302 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/iamrecursion/lldb/commits/07d4ca6c2a9835e9c6c4aff0a335fe064ae69c82"},{"sha":"45f583997d36ec5e154115d58dac3afc5ffdb3d8","author":{"name":"Pavel Labath","email":"35a3eb87f592a65aefbe4aff272c5798e4119370@google.com"},"message":"Attempt to fix TestMiniDump on windows\n\nIt was failing because the modules names were coming out as\nC:\\Windows\\System32/MSVCP120D.dll (last separator is a forward slash) on\nwindows.\n\nThere are two issues at play here:\n- the first problem is that the paths in minidump were being parsed as a\n  host path. This meant that on posix systems the whole path was\n  interpreted as a file name.\n- on windows the path was split into a directory-filename pair\n  correctly, but then when it was reconsituted, the last separator ended\n  up being a forward slash because SBFileSpec.fullpath was joining them\n  with '/' unconditionally.\n\nI fix the first issue by parsing the minidump paths according to the\npath syntax of the host which produced the dump, which should make the\ntest behavior on posix&windows identical. The last path will still be a\nforward slash because of the second issue. We should probably fix the\n\"fullpath\" property to do something smarter in the future.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@330314 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/iamrecursion/lldb/commits/45f583997d36ec5e154115d58dac3afc5ffdb3d8"},{"sha":"18c03aa9622b1629d80fe2cf27cae1817c7b921a","author":{"name":"Adrian McCarthy","email":"0396fc99b7e7d777ec5e821aeb1ea8599e03d04d@google.com"},"message":"Fix narrowing warning by appending `f` to literal constant.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@330354 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/iamrecursion/lldb/commits/18c03aa9622b1629d80fe2cf27cae1817c7b921a"}]}
{"actor":{"display_login":"iamrecursion"}}