4 个版本
使用旧的 Rust 2015
0.1.3 | 2017年11月7日 |
---|---|
0.1.2 | 2017年9月15日 |
0.1.1 | 2017年9月14日 |
0.1.0 | 2017年9月14日 |
在 #gdb 中排名 19
24KB
625 行
gdb_mi
一个 gdb 机器接口 (MI) 输出解析器和会话管理器。
示例
extern crate gdb_mi;
use gdb_mi::*;
let mut session = SessionBuilder::new().finish().unwrap();
session.send("-file-exec-and-symbols tests/main\n").unwrap();
session.send("-break-insert main\n").unwrap();
// Skip first 3 outputs.
for _ in 0..3 {
session.receive().unwrap();
}
let output = session.receive().unwrap();
// Output {
// token: None,
// record_type: Result,
// output_type: Result,
// result_class: Done,
// value: Some(
// Tuple(
// {
// "bkpt": Tuple(
// {
// "thread-groups": List(
// [
// Const(
// "i1"
// )
// ]
// ),
// "line": Const(
// "4"
// ),
// "disp": Const(
// "keep"
// ),
// "number": Const(
// "1"
// ),
// "file": Const(
// "tests/main.c"
// ),
// "original-location": Const(
// "main"
// ),
// "enabled": Const(
// "y"
// ),
// "addr": Const(
// "0x0000000100000f9d"
// ),
// "func": Const(
// "main"
// ),
// "fullname": Const(
// "$HOME/repo/gdb_mi/tests/main.c"
// ),
// "times": Const(
// "0"
// ),
// "type": Const(
// "breakpoint"
// )
// }
// )
// }
// )
// )
// }
let json = serde_json::to_string(&output).unwrap();
// {"token":null,"record_type":"Result","output_type":"Result","result_class":"Done","value":{"bkpt":{"disp":"keep","file":"tests/main.c","number":"1","line":"4","times":"0","enabled":"y","thread-groups":["i1"],"fullname":"/Users/lijunfen/repo/LLDBNvim/gdb_mi/tests/main.c","func":"main","original-location":"main","type":"breakpoint","addr":"0x0000000100000f9d"}}}
依赖关系
~8.5MB
~176K SLoC