Cart New Account Login

HomeAbout usProductsSupportForumsBlogCustomer Service

search inside this forum
PEMicro with VisualGDB
- -. Sep 17, 2016 at 03:45 PM (15:45 hours)
Staff: Gerardo R.

  • I'm using VisualGDB and I want to use the PEMicro Multilink Universal with it. The makers of VisualGDB say it should work fine if I use the PE GDB server and set it up inside VisualGDB as a Custom GDB Stub.

    I have the following settings and what I have entered for them (guess work)

    Command: C:\PEMicro\gdb_server_kinetis\PEGDB\pe_gdb_server.exe
    Arguments: -srv=C:\PEMicro\gdb_server_kinetis\PEGDB\project.ini
    Working Directory: C:\PEMicro\gdb_server_kinetis\PEGDB
    Additional Environment: <empty>
    TCP Port for GDB: 0

    I also tried Aruments as empty made no difference

    However, it doesn't work, when I run I just get this in VisualGDB error box

    (gdb begin)
    VisualGDB is licensed to Luke Malpass
    C:\SysGCC\arm-eabi\bin\arm-eabi-gdb.exe --interpreter mi C:\Users\Luke\Documents\git\angelsix\arbiter-arm\Firmware\XboxOne5.0/Debug/Arbiter-XboxOne.elf
    -gdb-version
    =thread-group-added,id="i1"
    ~"GNU gdb (GDB) 7.10.1\n"

    ~"For help, type \"help\".\n"
    ~"Type \"apropos word\" to search for commands related to \"word\"...\n"
    ~"Reading symbols from ..."
    ~"done.\n"
    ~"GNU gdb (GDB) 7.10.1\n"

    ~"For help, type \"help\".\n"
    ~"Type \"apropos word\" to search for commands related to \"word\".\n"
    ^done
    -list-features
    ^done,features=["frozen-varobjs","pending-breakpoints","thread-info","data-read-memory-bytes","breakpoint-notifications","ada-task-info","language-option","info-gdb-mi-command","undefined-command-error-code","exec-run-start-option"]
    -gdb-set stop-on-solib-events 1
    ^done
    -gdb-set disassembly-flavor intel
    ^error,msg="No symbol \"disassembly\" in current context."
    -gdb-set print demangle off
    ^done
    -break-insert -f main
    ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00002b98",func="main()",file="Main.cpp",fullname="",line="51",thread-groups=["i1"],times="0",original-location="main"}
    -target-select remote :0
    ^error,msg=":0: The requested address is not valid in its context."
    -data-evaluate-expression "sizeof(void *)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(int)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(short)"
    ^done,value="2"
    -data-evaluate-expression "sizeof(long)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(long long)"
    ^done,value="8"
    -data-evaluate-expression "sizeof(char)"
    ^done,value="1"
    -data-evaluate-expression "sizeof(wchar_t)"
    ^error,msg="No symbol \"wchar_t\" in current context."
    -data-evaluate-expression "sizeof(float)"
    ^done,value="4"
    -data-evaluate-expression "sizeof(double)"
    ^done,value="8"
    -data-evaluate-expression "sizeof(long double)"
    ^done,value="8"
    info target
    &"info target\n"
    ~"Symbols from \"\".\n"
    ~"Local exec file:\n"
    ~"\t`C', file type elf32-littlearm.\n"
    ~"\tEntry point: 0x3380\n"
    ~"\t0x00000000 - 0x000000c0 is .vectortable\n"
    ~"\t0x00000400 - 0x00000410 is .cfmconfig\n"
    ~"\t0x00000410 - 0x00005a9c is .text\n"
    ~"\t0x00005a9c - 0x00005aa0 is .init_array\n"
    ~"\t0x00005aa0 - 0x00005aa4 is .fini_array\n"
    ~"\t0x1ffffc00 - 0x1ffffc00 is .data\n"
    ~"\t0x1ffffc00 - 0x200005e0 is .bss\n"
    ^done
    -break-insert -f XXX:51
    ^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x00002b9a",func="main()",file="Main.cpp",fullname="",line="51",thread-groups=["i1"],times="0",original-location="XXX:51"}
    -break-info 2
    ^done,BreakpointTable={nr_rows="1",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x00002b9a",func="main()",file="Main.cpp",fullname="",line="51",thread-groups=["i1"],times="0",original-location=""}]}
    -break-after 2 0
    ^done
    info symbol 0x2b9a
    &"info symbol 0x2b9a\n"
    ~"main + 6 in section .text\n"
    ^done
    info line *0x2b9a
    &"info line *0x2b9a\n"
    ~"Line 57 of \"Main.cpp\" starts at address 0x2b9a <main()+6> and ends at 0x2b9e <main()+10>.\n"
    ^done
    -file-list-exec-source-files
    ^done,files
    -exec-continue
    ^error,msg="The program is not being run."




    Comments

  • I don't have this setup myself so I don't know exactly what it looks like on your end. Does Visual GDB have an option where you can specify the GDB port and not try to launch the server itself? The GDB Server we provide is a GUI application that is intended for the user to launch and configure themselves. After that, the user typically launches their client application and sets it up to connect to the appropriate GDB port.

  • Yes I figured it out just after. Needed to specify the port and all was good

Add comment


   Want to comment? Please login or create a new PEMicro account.







© 2017 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement