• Zhi An Ng's avatar
    Revert "Add postmortem debugging helper library" · 6747e3a1
    Zhi An Ng authored
    This reverts commit 517ab73f.
    
    Reason for revert: Test failures https://bugs.chromium.org/p/v8/issues/detail?id=9538
    
    Original change's description:
    > Add postmortem debugging helper library
    > 
    > This change begins to implement the functionality described in
    > https://docs.google.com/document/d/1evHnb1uLlSbvHAAsmOXyc25x3uh1DjgNa8u1RHvwVhk/edit#
    > for investigating V8 state in crash dumps.
    > 
    > This change adds a new library, v8_debug_helper, for providing platform-
    > agnostic assistance with postmortem debugging. This library can be used
    > by extensions built for debuggers such as WinDbg or lldb. Its public API
    > is described by debug-helper.h; currently the only method it exposes is
    > GetObjectProperties, but we'd like to add more functionality over time.
    > The API surface is restricted to plain C-style structs and pointers, so
    > that it's easy to link from a debugger extension built with a different
    > toolchain.
    > 
    > This change also adds a new cctest file to exercise some basic
    > interaction with the new library.
    > 
    > The API function GetObjectProperties takes an object pointer (which
    > could be compressed, or weak, or a SMI), and returns a string
    > description of the object and a list of properties the object contains.
    > For now, the list of properties is entirely based on Torque object
    > definitions, but we expect to add custom properties in future updates so
    > that it can be easier to make sense of complex data structures such as
    > dictionaries.
    > 
    > GetObjectProperties does several things that are intended to generate
    > somewhat useful results even in cases where memory may be corrupt or
    > unavailable:
    > - The caller may optionally provide a type string which will be used if
    >   the memory for the object's Map is inaccessible.
    > - All object pointers are compared against the list of known objects
    >   generated by mkgrokdump. The caller may optionally provide the
    >   pointers for the first pages of various heap spaces, to avoid spurious
    >   matches. If those pointers are not provided, then any matches are
    >   prefixed with "maybe" in the resulting description string, such as
    >   "maybe UndefinedValue (0x4288000341 <Oddball>)".
    > 
    > Bug: v8:9376
    > 
    > Change-Id: Iebf3cc2dea3133c7811bcefcdf38d9458b02fded
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1628012
    > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    > Reviewed-by: Yang Guo <yangguo@chromium.org>
    > Reviewed-by: Michael Stanton <mvstanton@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#62882}
    
    TBR=yangguo@chromium.org,mvstanton@chromium.org,jgruber@chromium.org,tebbi@chromium.org,seth.brenith@microsoft.com
    
    Change-Id: Ia078f2e8d101d2375b5db88021b2d65d28f1b075
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: v8:9376
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1716033Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Zhi An Ng <zhin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62899}
    6747e3a1
implementation-visitor.cc 141 KB