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

福卡塔尼

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

朋友

fn one() -> i32 {
    1
}

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

安慰

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;没有模块。我尝试了以下其他命令:

(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()是否禁用?

福卡塔尼

我尝试gdb == 8.11。完美的作品。

(gdb) p one
$1 = {fn () -> i32} 0x55555555a5a0 <fn::one>
(gdb) p one()
$2 = 1

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章