Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Remote Debugging



  • Hi,
    I'm trying to deploy a debug build of my application on my target machine, start it and use my development PC (qt-creator) to debug the application remotely.
    -target machine runs windows10 (no Qt installed)
    -dev machine windows 10, Qt5.15 - mingw

    I follow instructions from here:
    https://doc.qt.io/qtcreator/creator-debugger-operating-modes.html#remote-debugging

    So i manually copied the content from my dev PC c:\qt\tools to my target PC
    then i try to run my application (debug build) like this :

    gdbserver :1234 myAppDbg

    but i get this output

    glob could not process pattern '(null)'

    Does someone know what is the issue pls ?
    Thank you





  • @JonB Hi, thank you very much for your time.
    If i understand correctly there is a patch that i can apply togdbserver to fix this behavior ?
    Do i have to build gdbserver myself to apply that patch or i can download binaries from somewhere ?
    THX



  • @LeLev
    I know no more than what those links said!
    Start with gdbserver --version on your system?



  • @JonB said in Remote Debugging:

    Start with gdbserver --version on your system?

    Right now i have version 8.1, but a also did a test with one older version (7.something)



  • @LeLev
    My reading is that it was fixed on 8.1.1 (I believe). Can you get a later version than your 8.1?



  • @JonB ok thanks.
    I will try to download the last version then.
    My current version is the one that comes with Qt installation, under tools folder.



  • Hi
    Where can I download gdbserver (binary) version >8.1.0 for windows ?
    GDB is included in MinGW installation package but the most recent version there is 7.x
    The vesion i got with Qt Maintenance Tool is 8.1.0
    Should i maybe build the last version myself ? Where to find sources and build steps for windows pls ?

    THX



  • I tryed to build 8.1.1
    http://ftp.gnu.org/gnu/gdb/
    with Msys but got tons of compilation errors:

    [..........]
    i386-windows-nat.c:25:54: note: in definition of macro 'context_offset'
     #define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
                                                          ^
    i386-windows-nat.c:66:19: error: 'CONTEXT' {aka 'struct _CONTEXT'} has no member named 'ExtendedRegisters'; did you mean 'VectorRegister'?
       context_offset (ExtendedRegisters[15*16]),
                       ^~~~~~~~~~~~~~~~~
    i386-windows-nat.c:25:54: note: in definition of macro 'context_offset'
     #define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
                                                          ^
    i386-windows-nat.c:67:19: error: 'CONTEXT' {aka 'struct _CONTEXT'} has no member named 'ExtendedRegisters'; did you mean 'VectorRegister'?
       context_offset (ExtendedRegisters[16*16]),
                       ^~~~~~~~~~~~~~~~~
    i386-windows-nat.c:25:54: note: in definition of macro 'context_offset'
     #define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
                                                          ^
    i386-windows-nat.c:68:19: error: 'CONTEXT' {aka 'struct _CONTEXT'} has no member named 'ExtendedRegisters'; did you mean 'VectorRegister'?
       context_offset (ExtendedRegisters[17*16]),
                       ^~~~~~~~~~~~~~~~~
    i386-windows-nat.c:25:54: note: in definition of macro 'context_offset'
     #define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
                                                          ^
    i386-windows-nat.c:70:19: error: 'CONTEXT' {aka 'struct _CONTEXT'} has no member named 'ExtendedRegisters'; did you mean 'VectorRegister'?
       context_offset (ExtendedRegisters[24])
                       ^~~~~~~~~~~~~~~~~
    i386-windows-nat.c:25:54: note: in definition of macro 'context_offset'
     #define context_offset(x) ((int)&(((CONTEXT *)NULL)->x))
                                                          ^
    make[2]: *** [i386-windows-nat.o] Error 1
    make[2]: Leaving directory `/gdb-8.1.1/gdb'
    make[1]: *** [all-gdb] Error 2
    make[1]: Leaving directory `/gdb-8.1.1'
    make: *** [all] Error 2
    

    Is there really no way of getting a compiled version directly ? I searched everywhere



  • Worked with gdbserver verson 7.9.1


Log in to reply