I'm trying to learn how debugger works. With the help of this 
blog 
https://eli.thegreenplace.net/2011/01/27/how-debuggers-work-part-2-breakpoints
I'm able to set breakpoint and continue.

In the next step of learning, I wanted to learn how to extract values of 
variables. 

But, the dwarf output says the frame base addrs as: 1 byte block: 9c 
(DW_OP_call_frame_cfa)

 <0><48a28>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <48a29>   DW_AT_name        : main
    <48a2e>   DW_AT_language    : 22 (Go)
    <48a2f>   DW_AT_stmt_list   : 0x26b2c
    <48a33>   DW_AT_low_pc      : 0x498200
    <48a3b>   DW_AT_ranges      : 0x28a70
    <48a3f>   DW_AT_comp_dir    : .
    <48a41>   DW_AT_producer    : Go cmd/compile go1.16.6; -N -l
    <48a60>   Unknown AT value: 2905: main
 <1><48a65>: Abbrev Number: 3 (DW_TAG_subprogram)
    <48a66>   DW_AT_name        : main.main
    <48a70>   DW_AT_low_pc      : 0x498200
    <48a78>   DW_AT_high_pc     : 0x4982e5
    <48a80>   DW_AT_frame_base  : 1 byte block: 9c (DW_OP_call_frame_cfa)
    <48a82>   DW_AT_decl_file   : 0x2
    <48a86>   DW_AT_external    : 1
 <2><48a87>: Abbrev Number: 21 (DW_TAG_lexical_block)
    <48a88>   DW_AT_low_pc      : 0x498223
    <48a90>   DW_AT_high_pc     : 0x4982d9
 <3><48a98>: Abbrev Number: 10 (DW_TAG_variable)
    <48a99>   DW_AT_name        : variableToTrace
    <48aa9>   DW_AT_decl_line   : 11
    <48aaa>   DW_AT_type        : <0x4ab9f>
    <48aae>   DW_AT_location    : 3 byte block: 91 b0 7f (DW_OP_fbreg: -80)

I wanted to readt variableToTrace. to my understanding, I can read the 
variable from CFA-80

But don't know how to calculate CFA. 

Can anyone help me with this?

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/d8b6d3f7-26de-48fa-86f3-b94f5407923an%40googlegroups.com.

Reply via email to