首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置断点,但未命中断点

设置断点,但未命中断点
EN

Stack Overflow用户
提问于 2012-08-31 22:27:15
回答 2查看 572关注 0票数 1

我已经在本地构建了Chromium,并尝试使用GDB对其进行调试。由于某些原因,某些断点似乎没有命中。例如,当我这样做的时候

代码语言:javascript
复制
b InjectedScriptBase::makeEvalCall

GDB提示

代码语言:javascript
复制
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (InjectedScriptBase::makeEvalCall) pending.

但当相关代码被触发时,不会命中断点。

我做错了什么?我现在假设相关的符号是在运行时加载的,但是我应该单独加载它们吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-01 00:20:51

根据Chromium sources的说法,这个函数有相当长的签名:

代码语言:javascript
复制
void InjectedScriptBase::makeEvalCall(ErrorString* errorString, ScriptFunctionCall& function, RefPtr<TypeBuilder::Runtime::RemoteObject>* objectResult, TypeBuilder::OptOutput<bool>* wasThrown)

因此,在设置断点时使用Tab补全是值得的。尝试以下操作:

代码语言:javascript
复制
b 'InjectedScriptBase::makeEvalCall

并按Tab键自动完成函数名称。gdb会帮你查找符号表和自动补全函数名。然后,您应该能够设置断点。

票数 1
EN

Stack Overflow用户

发布于 2012-08-31 23:33:38

确保你有足够的内存来调试Chromium。或者尝试在另一台内存更大的机器上进行调试。

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

https://stackoverflow.com/questions/12217399

复制
相关文章

相似问题

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