首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >11 the命令跳转:在当前函数之外继续吗?

问11 the命令跳转:在当前函数之外继续吗?
EN

Stack Overflow用户
提问于 2018-05-17 11:58:57
回答 1查看 717关注 0票数 1

LLDB命令jump允许我在与其停止位置不同的位置继续执行程序,但它似乎仅限于当前函数中的地址:

代码语言:javascript
复制
(lldb) jump CLI.cpp:15
error: CLI.cpp:15 is outside the current function.

我对此很好奇,因为lldb的帮助中没有记录这个限制,语法jump <file>:<line>以某种方式表明可以使用任意的入口点:

(lldb)帮助跳转(‘_regexp-跳转’)将程序计数器设置为一个新地址。期望“原始”输入(参见“帮助原始输入”)。语法:_regexp-跳转_regexp-跳转+区-_regexp-跳跃_regexp-跃*‘跳转’是‘_regexp-跳转’的缩写。

我知道,在不同的帧/堆栈中恢复可能会使程序处于不一致的状态,并产生“非常好的”副作用。

如何在lldb中跳转到当前函数之外的行(忽略可能的副作用)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-17 19:43:24

jump是一个包装器命令,它将底层thread jump的一些常见用途打包成一个紧凑的表单。这就是所有_regex-命令在lldb中的内容。做:

代码语言:javascript
复制
(lldb) help command regex

如果您想要更多关于这个regex命令的详细信息,当然还有

代码语言:javascript
复制
(lldb) help thread jump

为了你能用那个命令做的一切。

包装器不允许跳出当前函数,因为这绝对不是一个安全的操作,因此默认情况是假设您在输入行或文件名时出错.

底层命令有一个--force选项,允许您将pc移出当前函数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50390921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档