Skip to content

gdb doesn't understand function pointers #14361

Closed
@jdm

Description

@jdm
struct Foo {
    dtor: extern "C" fn(),
}

extern "C" fn dtor() {
}

fn main() {
    let foo = Foo { dtor: dtor };
    let foo2 = Some(dtor);
    let foo3 = dtor;
    println!("{:?}", foo);
}
[jdm@rosencrantz tmp]$ gdb dtor
(gdb) break dtor.rs:12
Breakpoint 1 at 0x405068: dtor.rs:12. (2 locations)
(gdb) r
Starting program: /tmp/dtor 
Breakpoint 1, dtor::main () at dtor.rs:12
12      println!("{:?}", foo);
(gdb) p foo
$1 = {
  dtor = <error reading variable>
(gdb) p foo2
$2 = {
  <error reading variable>
(gdb) p foo3
$3 = {void ()} 0x7fffffffdca8
(gdb) 

cc @michaelwoerister

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions