Skip to content

Debugger Breakpoints Failing

Thanks very much for your work on this crate, it's been super helpful.

This will be a weird-sounding issue, and will be tough to produce any small test-case for. But adding a comparatively large struct to my existing enum_dispatched enum appears to cease functionality of debugger breakpoints.

Before its addition, I have maybe 10 structs enum_dispatched across a single trait. Each has at most a few dozen fields, and a few hundred lines of MyTrait implementation. BigStruct has on the order of 1000 total parameters and 5k-10k lines of MyTrait implementation. Like so:

#[enum_dispatch]
pub(crate) enum MyTrait {
    SmallStruct0,
    SmallStruct1,
    SmallStruct2,
    // maybe 10 total
    // BigStruct, // <= uncomment this line, breakpoints cease to work 
}

I'll note everything but debugger breaking continues to work, as far as I can tell. But breakpoints in unchanged files (certainly outside of BigStruct) cease to.

Can the authors think of any reason this could happen? I've observed it with both the CodeLLDB extension to VsCode, plus CLion's packaged-in gdb and lldb.