首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在rust-gdb中打印调用Rust函数的结果?

如何在rust-gdb中打印调用Rust函数的结果?
EN

Stack Overflow用户
提问于 2018-08-16 22:08:28
回答 1查看 738关注 0票数 3

我想在rust-gdb控制台中打印一个函数的结果。

fn.rs

代码语言:javascript
复制
fn one() -> i32 {
    1
}

fn main() {
    println!("{}", one());
}

控制台

代码语言:javascript
复制
rustc -g ./fn.rs
rust-gdb ./fn
>>> b 6
>>> run
>>> print one()
Invalid data type for function to be called.

有没有显示函数结果的方法?

我使用的是Rust 1.27.0和GDB 7.11。我直接编译fn.rs;没有模块。我尝试了这些额外的命令:

代码语言:javascript
复制
(gdb) p one 
$1 = 1 
(gdb) p one() 
Invalid data type for function to be called. 
(gdb) p 
::module::one() A syntax error in expression, near ::one()'. 
(gdb) p 
::module::one A syntax error in expression, near ::one'. 
(gdb) p 
fn::one() No symbol "one" in namespace "fn".

P one()是否禁用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-18 16:34:20

我试过gdb==8.11了。它工作得很完美。

代码语言:javascript
复制
(gdb) p one
$1 = {fn () -> i32} 0x55555555a5a0 <fn::one>
(gdb) p one()
$2 = 1

谢谢大家。(尤其是@mcarton)

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

https://stackoverflow.com/questions/51879050

复制
相关文章

相似问题

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