有没有办法在gdb年后立即运行Cargo构建的程序?cargo有很多功能,可以运行该程序,所以它似乎是合理的.

预期的命令大约为cargo debug.

推荐答案

不,目前Cargo 中没有这种东西.

有几个问题(12)可以更好地支持类似的问题.

目前你能做的最好的事情就是写一个Cargo subcommand,它完全符合你的需要.

变通办法

无需创建子命令,您就可以将几个功能粘在一起,从而实现更接近的效果.

首先,为您的体系 struct 配置a custom runner.

.cargo/config

[target.x86_64-apple-darwin]
runner = ["/tmp/gg/debugger.sh"]

然后写一个小脚本作为测试运行者.如果设置了环境变量,它将启动调试器,否则它将只运行程序:

#!/bin/bash

if [[ -z $DEBUG ]]; then
    exec $*
else
    exec lldb $*
fi

然后你只需要设置变量:

$ cargo test
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s
     Running target/debug/deps/gg-e5d6c92730ca3c30

running 0 tests

$ DEBUG=1 cargo test
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running target/debug/deps/gg-e5d6c92730ca3c30
(lldb) target create "/private/tmp/gg/target/debug/deps/gg-e5d6c92730ca3c30"
Current executable set to '/private/tmp/gg/target/debug/deps/gg-e5d6c92730ca3c30' (x86_64).
(lldb)

另见:

Rust相关问答推荐

使用InlineTables序列化toml ArrayOfTables

无需通过ASIO输入音频,并使用cpal进行反馈示例

在Tauri中获取ICoreWebView 2_7以打印PDF

如何从使用mockall模拟的方法中返回self?

如何创建引用构造函数拥有的变量的对象?

关于如何初始化弱 struct 字段的语法问题

通过解引用将值移出Box(以及它被脱糖到什么地方)?

有没有一种惯用的方法来判断VEC中是否存在变体?

无法将 rust 蚀向量附加到另一个向量

装箱特性如何影响传递给它的参数的生命周期 ?(举一个非常具体的例子)

有没有一种方法可以创建一个闭包来计算Rust中具有随机系数的n次多项式?

UnsafeCell:它如何通知 rustc Select 退出基于别名的优化?

如何限制 GtkColumnView 行数

可以在旋转循环中调用try_recv()吗?

trait 对象指针的生命周期

内部值发生变化时 Rc 的行为

Rust Serde 为 Option:: 创建反序列化器

从现有系列和 map 值创建新系列

意外的正则表达式模式匹配

使用 `.` 将 T 转换为 &mut T?