腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
在
GDB
调试过程中,我们如何识别
函数
是否
内联
?
、
、
、
、
在
使用
GDB
调试C程序时,运行命令bt将列出
函数
调用堆栈。更高版本
的
GDB
显示
内联
函数
就像显示非
内联
函数
一样。它们以回溯
的
形式出现。但是,从下面的文章中,我了解到可以区分
函数
是否
内联
。链接- 帧信息您可以
使用
命令检查
函数
是否被
内联
。 我无法理解如何解释在执行命令info框架时显示
的
信息,以
浏览 77
提问于2018-08-18
得票数 0
3
回答
使用
gdb
检查boost shared_ptr
、
、
、
以下是我
的
源代码:#include <boost/shared_ptr.hpp> { MyClass中检查obj,并查看成员变量i
的
值。这是我用普通打印得到
的
结果:(
gdb
) n(
gdb
浏览 118
提问于2013-07-23
得票数 20
回答已采纳
3
回答
将
gdb
与
内联
函数
一起
使用
、
我尝试在事后模式下
使用
gdb
和崩溃进程
的
核心转储。我可以获得堆栈跟踪,但是
gdb
并没有显示问题
函数
中
的
实际位置,而是显示了问题
函数
调用
的
两行
内联
函数
的
行号。
内联
函数
在很多地方被调用;我如何找到触发崩溃
的
调用?如何在
内联
函数
周围找到代码?
浏览 0
提问于2009-02-13
得票数 5
回答已采纳
2
回答
可以在
gdb
中调用
内联
函数
和/或
使用
GCC发出
内联
函数
吗?
、
、
、
、
我们都知道
内联
函数
可以使调试变得更棘手,因为它们可以从堆栈跟踪中被删除等等。但是假设我想从
gdb
内部调用
内联
函数
,并且我知道它
的
名称和参数。我想我应该能做到
的
,但我明白:我
使用
nm来列出我正在
使用
的
共享库中
的
符号,发现我想要调用
的
函数
不在其中。没什么好惊讶
的
。
浏览 5
提问于2014-02-26
得票数 9
回答已采纳
2
回答
为什么缺少一些调试符号,以及如何跟踪它们?
、
、
当我尝试nm my_module.ko时,我会得到模块包含
的
符号列表。除了一些符号没有出现在符号列表中之外,所有这些符号都是丢失
的
。我对此
的
感觉是,相关
的
功能是自动
内联
的
。无论如何,当
使用
qemu/
gdb
运行内核时,我可以看到调用了“缺失”
函数
。这意味着编译器没有清除它,因为它从未用于任何代码路径(因此我
的
“感觉”)。因为符号没有出现,所以我不能在它上设置一个断点,而且
gdb
不会展开它,这
浏览 4
提问于2013-06-03
得票数 0
回答已采纳
3
回答
在C文件中设置
GDB
断点
、
是否可以在编译前在C文件中添加
GDB
断点?目前,我必须通过
GDB
指定编译后
的
断点。 我正在寻找类似于JavaScript
的
debugger;语句
的
东西。
浏览 0
提问于2012-03-13
得票数 4
回答已采纳
1
回答
用clang评价数据库中libc++
的
方法
、
、
、
、
int main() std::vector<int> foo; printf( "%zu\n", foo.size() );
使用
clang++ foo.cpp -stdlib=libc++ -g时,当在
gdb
中运行a.out并试图显示foo.size()
的
结果时,
gdb
表示“无法计算
函数
-可能是
内联
的
”。是否有办法避免编译器在调试模式下
的
浏览 0
提问于2018-03-06
得票数 1
回答已采纳
1
回答
GDB
:打印矢量
的
内容
、
、
我
使用
的
是gcc 4.8.2和
gdb
7.7.1。我正在单步执行一个C++程序,我想打印一个向量
的
内容。我已经尝试应用这里提到
的
解决方案:我该如何解决这个问题?这是一种痛苦。我正在尝试逐步执行这个比特币
函数
(‘signrawtransaction’):
浏览 0
提问于2015-01-18
得票数 1
1
回答
我怎样才能停止制作
内联
函数
呢?
、
、
、
、
我正在尝试用Ada调试一个
gdb
程序。具体来说,我试图在如下
函数
中放置一个断点:begin我怀疑这是由gnatmake引起
的
,即使我应用了选项-O0 -g,这也是插入所描述
的
函数
。为了检查
浏览 2
提问于2018-05-28
得票数 0
回答已采纳
1
回答
用
gdb
调试Fortran :显示所有变量
的
名称,但不显示它们
的
内容
、
我正在用
gdb
调试一个Fortran程序,当我尝试在断点用p/d cs(ii,inti+1)打印一个二维数组
的
元素时,我得到当前上下文中
的
消息No符号cs。但是,cs显然在当前
的
范围内可用--我刚才提到
的
行
使用
了它--尽管它不是声明
的
,而是在模块级别上(在同一个模块中)。我试图找出哪些变量是可用
的
,看看我是否能够弄清楚为什么
gdb
不允许我查看这个变量
的
内容。info locals对我没有多大帮助,因为我不需
浏览 0
提问于2013-04-22
得票数 2
1
回答
使用
cgdb调试--我只想调试我
的
代码
、
、
我
使用
的
是标准模板库和boost。我想
使用
cgdb调试代码。但我只是想在执行下一步
的
同时调试我
的
代码,并在cgdb中单步执行,就像现在它进入其他库中
的
代码一样,而我希望它只返回或单步执行我已经编码并写下
的
代码。 有没有办法让这一切成为现实。
浏览 0
提问于2010-04-08
得票数 2
1
回答
gdb
中向量
的
访问
、
、
在它里面,我有一个
函数
,它有一个名为value
的
输入变量(通过引用传递):我
使用
gdb
打印值到控制台:我明白了: $15 = std::vector of length 1, capacity 1 = {std::vector当我尝试用
gdb
访问内部大小4向量时
浏览 1
提问于2017-06-19
得票数 0
回答已采纳
1
回答
GDB
回溯告诉我符号名,而不是源文件。
、
我遇到了一个问题,我似乎无法
使用
GDB
进入某些
函数
。我
使用
的
是"PImpl成语“,在.cpp文件中有一个
内联
类,其中包含从公共可见类调用
的
函数
,如下所示: { void open,我知道调用不是
内联
的
(我
使用
-fno-inline,我可以在程序集中看到call指令);,我可以在
函数</
浏览 1
提问于2012-04-17
得票数 1
1
回答
如何使
gdb
"grok“
函数
编写成
内联
程序集?
、
、
,但我
的
问题是,在
gdb
中运行它时,
gdb
不知道如何“进入”calltest
函数
。请注意,在我当前
的
用例中,进入calltest本身并不是真正
的
问题,但更让我烦恼
的
是
gdb
甚至跳过了对calledtest
的
整个调用。当然,我可以通过步进指令进入calltest和calledtest,但这可能非常繁琐,特别是在
使用
复杂表达式和/或其他
函数
调用
的
行中调用calltest时。如
浏览 0
提问于2016-12-16
得票数 1
回答已采纳
1
回答
gcc
gdb
无调试信息
、
、
、
我试图阻止g++
内联
模板化
函数
,这会导致
gdb
缺乏调试信息,比如局部变量甚至当前行号。-DDEBUG -O0 -fno-inline -fno-implicit-inline-templates#
浏览 1
提问于2012-10-30
得票数 0
3
回答
借助
gdb
调试宏
、
、
我知道另一种方法是将宏转换为
内联
函数
,这将允许
gdb
步入其中。例如,在下面的代码片段中。\ } { return 0;在
gdb
提示符下,我们可以
使用
next进入m
浏览 0
提问于2019-05-31
得票数 2
1
回答
如何在
gdb
中监视
内联
函数
的
地址
、
假设我在h文件il.h
的
123行中实现了一个
内联
函数
il()。我从不同
的
地方给它打了几个电话。此外,我还有一个
函数
il2(),它也调用il(),并从几个不同
的
位置进行调用。尝试在
gdb
中打印这个地址不起作用,但是我可以在回溯和调试中看到这个
函数
,就像常规
函数
一样,
gdb
显示
的
地址是什么,它是如何知道将其显示为
函数
的
。
浏览 3
提问于2021-11-28
得票数 0
2
回答
无法计算
函数
--可能是
内联
的
、
我写了一个类似下面的
函数
: private : public :};**Cannot evaluate function -- may be inlined** 如何从
内联
函数
中打印值?
浏览 1
提问于2014-03-04
得票数 26
2
回答
在禁用优化之后,
gdb
stl
函数
仍然显示为
内联
。
、
、
我已经
使用
python支持构建了
gdb
-7.12,并通过遵循启用了漂亮
的
打印并配置了gdbinit文件。但每当我打印任何容器
的
大小:Cannot evaluate function -- may be inlined#include <vector我试着切换到
gdb
-7.11 (也是从源代码构建
的
)来查看它是否解决了问题,并切换到g++-4.8,它们似乎都没有解决这个问题。 我做错什么了?
浏览 0
提问于2016-10-21
得票数 2
回答已采纳
2
回答
告诉
gdb
步骤时跳过_only_ std
、
正如在中提到
的
,我想跳过所有的std
函数
。使skip -rfu "std::.*"起作用,但有时太粗糙了。假设我有这样
的
代码:当skip被启用时,即使step
的
ctor是非平凡
的
,Something也只会跳过这整行当我尝试进入std::function实例
的
调用时,也会出现同样
的
问题。 如果有来自std
的
东西,是否可
浏览 1
提问于2021-08-30
得票数 1
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券