Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to build GDB on Windows

How does one build GDB (the GNU Debugger) from source on Windows? I need to build it in order to make a build with Python support. I cannot use the one distributed with Cygwin because it has problems interpreting backslashes on Windows. What toolchains do I need for the build -- GnuWin32, MinGW, etc.? Can someone please provide step-by-step instructions on how to do this?

like image 805
user553702 Avatar asked Mar 02 '17 22:03

user553702


People also ask

Can you run GDB on Windows?

Starting GDBIn the windows command console, type arm-none-eabi-gdb and press Enter. You can do this from any directory. If you're unsure how to open the Windows command console, see Running OpenOCD on Windows. You can also run GDB directly from "Run" in the Start menu.

Is there a GUI for GDB?

gdbgui is a browser-based frontend to gdb , the gnu debugger. You can add breakpoints, view stack traces, and more in C, C++, Go, and Rust! It's perfect for beginners and experts. Simply run gdbgui from the terminal to start the gdbgui server, and a new tab will open in your browser.

Does MinGW include GDB?

Mingw includes gdb (Gnu debugger) in its distribution.


1 Answers

  1. install (https://sourceforge.net/downloads/mingw) and configure MinGW with packages g++ gcc libc6-dev libtool pkg-config
  2. get gdb sources (I use 7.latest from https://www.gnu.org/software/gdb/) and put it into MinGW/msys/1.0 folder
  3. run ./configure in msys shell (MinGW\msys\1.0\msys.bat)
  4. run make and fix the following:
  5. hypot compile error with help of this '::hypot' has not been declared
  6. undefined constants for GetLastError function by adding #include <winerror.h> into \gdb\gdbserver\win32-i386-low.c \gdb\gdbserver\win32-low.c gdb\ser-mingw.c

I have checked build process using 7.11.1 and 7.12.1 sources

7.12.1 x32 is broken under windows https://github.com/Alexpux/MINGW-packages/issues/1909 https://sourceforge.net/p/mingw-w64/bugs/576/

like image 189
se_pavel Avatar answered Sep 26 '22 15:09

se_pavel