about summary refs log tree commit diff
path: root/src/etc/gdb_providers.py
AgeCommit message (Collapse)AuthorLines
2025-01-21change lookup from `OsString.inner.inner.0` -> `OsString.inner.inner.bytes`Walnut-1/+1
2024-12-04Reformat Python code with `ruff`Jakub Beránek-9/+26
2024-08-09Polymorphize RawVecBen Kimock-5/+12
2024-03-14Fix `StdNonZeroNumberProvider` for `gdb`.Markus Reiter-1/+8
2023-12-11update debug providers to match new RawVec capacity fieldThe 8472-1/+5
2023-10-20Use gdb.ValuePrinter tag classTom Tromey-149/+158
GDB 14 has a "gdb.ValuePrinter" tag class that was introduced to let GDB evolve the pretty-printer API. Users of this tag are required to hide any local attributes or methods. This patch makes this change to the Rust pretty-printers. At present this is just a cleanup, providing the basis for any future changes.
2022-11-20Update VecDeque implementationMarkus Everling-6/+2
2022-08-24Add GDB/LLDB pretty-printers for NonZero typesArtem Mukhin-0/+11
2022-04-14Fix debugger testsEduardo Sánchez Muñoz-1/+3
2021-07-03Support pretty printing slices using GDBEFanZh-16/+39
2021-03-16feat: Update hashbrown to instantiate less llvm IRMarkus Westerlind-5/+6
Includes https://github.com/rust-lang/hashbrown/pull/204 and https://github.com/rust-lang/hashbrown/pull/205 (not yet merged) which both server to reduce the amount of IR generated for hashmaps. Inspired by the llvm-lines data gathered in https://github.com/rust-lang/rust/pull/76680
2020-12-02Auto merge of #79235 - ortem:fix-btreemap-gdb-pretty-printer, r=Mark-Simulacrumbors-4/+5
Fix zero-sized BTreeMap gdb pretty-printer `gdb.parse_and_eval("()")` is needed because GDB treats "()" as a Rust array of two characters, not as a unit Based on https://github.com/intellij-rust/intellij-rust/pull/6356
2020-11-28Rollup merge of #79234 - ortem:fix-hashmap-pretty-printers, r=Mark-SimulacrumJonas Schievink-1/+1
Resolve typedefs in HashMap gdb/lldb pretty-printers `GetTypedefedType` (LLDB) and `strip_typedefs` (GDB) calls are needed to resolve key and value types completely. Without these calls, debugger doesn't show the actual type. **Before** (without `GetTypedefedType`): ``` (lldb) frame variable hm[0] (T) hm[0] = { ... } ``` **After** (with `GetTypedefedType`): ``` (lldb) frame variable hm[0] ((i32, alloc::string::String)) hm[0] = { ... } ``` Based on https://github.com/intellij-rust/intellij-rust/pull/6258
2020-11-23BTreeMap: cut out the ceremony around BoxedNodeStein Somers-6/+6
2020-11-23Fix zero-sized BTreeMap gdb pretty-printerortem-4/+5
`gdb.parse_and_eval("()")` is needed because GDB treats "()" as a Rust array of two characters, not as a unit
2020-11-20Resolve typedefs in HashMap gdb/lldb pretty-printersortem-1/+1
`GetTypedefedType` (LLDB) and `strip_typedefs` (GDB) calls are needed to resolve key and value types completely. Without these calls, debugger doesn't show the actual type. * Before (without `GetTypedefedType`): (lldb) frame variable hm[0] (T) hm[0] = { ... } * After (with `GetTypedefedType`): (lldb) frame variable hm[0] ((i32, alloc::string::String)) hm[0] = { ... }
2020-11-18BTreeMap: reuse NodeRef as Root, keep BoxedNode for edges only, ban UniqueStein Somers-33/+34
2020-10-14BTreeMap: improve gdb introspection of BTreeMap with ZST keys or valuesStein Somers-11/+9
2020-10-10BTreeMap: fix gdb introspection of BTreeMap with ZST keys or valuesStein Somers-31/+32
2020-09-08Implement HashSet in terms of hashbrown::HashSetMatt Brubeck-1/+13
2020-08-07Handle new HashMap layout in GDB and LLDBAmanieu d'Antras-2/+9
2020-06-09Implement new gdb/lldb pretty-printersortem-0/+385
Replace old GDB and LLDB pretty-printers with new ones which were originally written for IntelliJ Rust. New LLDB pretty-printers support synthetic children. New GDB/LLDB pretty-printers support all Rust types supported by old pretty-printers, and also support: Rc, Arc, Cell, Ref, RefCell, RefMut, HashMap, HashSet.