aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectTarget.cpp
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2020-05-12 17:14:20 +0200
committerPavel Labath <pavel@labath.sk>2020-05-14 11:52:54 +0200
commitf665e80c023ec52557f55d7eeaf34471e4c6fa0d (patch)
tree1c6bff300d19cbae47723e10980d26c61e036a12 /lldb/source/Commands/CommandObjectTarget.cpp
parent2974b3c566d68f1d7c907f891137cf0292dd35aa (diff)
downloadllvm-f665e80c023ec52557f55d7eeaf34471e4c6fa0d.zip
llvm-f665e80c023ec52557f55d7eeaf34471e4c6fa0d.tar.gz
llvm-f665e80c023ec52557f55d7eeaf34471e4c6fa0d.tar.bz2
[lldb] Don't dissasemble large functions by default
Summary: If we have a binary without symbol information (and without LC_FUNCTION_STARTS, if on a mac), then we have to resort to using heuristics to determine the function boundaries. However, these don't always work, and so we can easily end up thinking we have functions which are several megabytes in size. Attempting to (accidentally) disassemble these can take a very long time spam the terminal with thousands of lines of disassembly. This patch works around that problem by adding a sanity check to the disassemble command. If we are about to disassemble a function which is larger than a certain threshold, we will refuse to disassemble such a function unless the user explicitly specifies the number of instructions to disassemble, uses start/stop addresses for disassembly, or passes the (new) --force argument. The threshold is currently fairly aggressive (4000 bytes ~~ 1000 instructions). If needed, we can increase it, or even make it configurable. Differential Revision: https://reviews.llvm.org/D79789
Diffstat (limited to 'lldb/source/Commands/CommandObjectTarget.cpp')
0 files changed, 0 insertions, 0 deletions