summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/context-object-objc
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2019-02-07 13:42:32 +0000
committerPavel Labath <pavel@labath.sk>2019-02-07 13:42:32 +0000
commit3f35ab8b30001ca8038795320c48cf640e59b36b (patch)
treef3ce69023b99cdb5c9a4eaefbbe6344cca51f3a2 /lldb/packages/Python/lldbsuite/test/expression_command/context-object-objc
parent67756c09f21ada07a3686601538e88da2ad1771e (diff)
downloadbcm5719-llvm-3f35ab8b30001ca8038795320c48cf640e59b36b.tar.gz
bcm5719-llvm-3f35ab8b30001ca8038795320c48cf640e59b36b.zip
SymbolFileBreakpad: Add line table support
Summary: This patch teaches SymbolFileBreakpad to parse the line information in breakpad files and present it to lldb. The trickiest question here was what kind of "compile units" to present to lldb, as there really isn't enough information in breakpad files to correctly reconstruct those. A couple of options were considered - have the entire file be one compile unit - have one compile unit for each FILE record - have one compile unit for each FUNC record The main drawback of the first approach is that all of the files would be considered "headers" by lldb, and so they wouldn't be searched if target.inline-breakpoint-strategy=never. The single compile unit would also be huge, and there isn't a good way to name it. The second approach will create mostly correct compile units for cpp files, but it will still be wrong for headers. However, the biggest drawback here seemed to be the fact that this can cause a compile unit to change mid-function (for example when a function from another file is inlined or another file is #included into a function). While I don't know of any specific thing that would break in this case, it does sound like a thing that we should avoid. In the end, we chose the third option, as it didn't seem to have any major disadvantages, though it was not ideal either. One disadvantage here is that this generates a large number of compile units, and there is still a question on how to name it. We chose to simply name it after the first line record in that function. This should be correct 99.99% of the time, though it can produce somewhat strange results if the very first line record comes from an #included file. Reviewers: clayborg, zturner, lemo, markmentovai Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D56595 llvm-svn: 353404
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/context-object-objc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud