Hello. This is my first message here, and I don't know if there is any usage about self introducing. I am trying to setup a comfortable developer environment for MariaDB, and especially a debugging environment, on a Linux Ubuntu box (using gdb or ddd, or gdbgui…). This is not obvious as all of them seems to have issues. Anyway, I tried to follow the instructions from that page: https://mariadb.com/kb/en/get-build-and-test-latest-mariadb-the-lazy-way/ But there is something that I am wondering: If I want to see the contents of some variables using these debuggers, is it normal that I very often get the following message? |<optimized out>| I understand what that means, but I am actually trying to debug code compiled with the following options: |-DCMAKE_BUILD_TYPE=Debug| Shouldn't all optimizations have been disabled when compiling in debugging mode? Regards, Gingko
Hi Gingko! You may have previously run this command: cmake . -DBUILD_CONFIG=mysql_release Make sure to remove CMakeCache.txt file and rerun. I usually just run *git clean -dffx * To clean up all artifacts. Run: cmake . -DCMAKE_BUILD_TYPE=Debug, then recompile. That should work. Vicențiu On Tue, 10 Oct 2023 at 09:41, Gingko via discuss <discuss@lists.mariadb.org> wrote:
Hello.
This is my first message here, and I don't know if there is any usage about self introducing. I am trying to setup a comfortable developer environment for MariaDB, and especially a debugging environment, on a Linux Ubuntu box (using gdb or ddd, or gdbgui…). This is not obvious as all of them seems to have issues.
Anyway, I tried to follow the instructions from that page: https://mariadb.com/kb/en/get-build-and-test-latest-mariadb-the-lazy-way/
But there is something that I am wondering:
If I want to see the contents of some variables using these debuggers, is it normal that I very often get the following message?
<optimized out>
I understand what that means, but I am actually trying to debug code compiled with the following options: -DCMAKE_BUILD_TYPE=Debug
Shouldn't all optimizations have been disabled when compiling in debugging mode?
Regards,
Gingko _______________________________________________ discuss mailing list -- discuss@lists.mariadb.org To unsubscribe send an email to discuss-leave@lists.mariadb.org
Hi, Gingko, No, not normal. It's a sign that you debug an optimized binary. May be the one you're debugging isn't the one that you've compiled. Or may be -DCMAKE_BUILD_TYPE=Debug was used incorrectly and didn't apply to the build. Suggestions: * If you're using 'make' run 'make VERBOSE=1', if you're using 'ninja' run 'ninja -v'. It'll print commands that make is using, see if there's -g, -g3, -O0 or -O3. * don't install mariadb system-wide for debugging. run './mtr main.1st --gdb' or --ddd. Regards, Sergei Chief Architect, MariaDB Server and security@mariadb.org On Oct 10, Gingko via discuss wrote:
Hello.
This is my first message here, and I don't know if there is any usage about self introducing. I am trying to setup a comfortable developer environment for MariaDB, and especially a debugging environment, on a Linux Ubuntu box (using gdb or ddd, or gdbgui…). This is not obvious as all of them seems to have issues.
Anyway, I tried to follow the instructions from that page: https://mariadb.com/kb/en/get-build-and-test-latest-mariadb-the-lazy-way/
But there is something that I am wondering:
If I want to see the contents of some variables using these debuggers, is it normal that I very often get the following message?
|<optimized out>|
I understand what that means, but I am actually trying to debug code compiled with the following options: |-DCMAKE_BUILD_TYPE=Debug|
Shouldn't all optimizations have been disabled when compiling in debugging mode?
Regards,
Gingko
participants (3)
-
Gingko
-
Sergei Golubchik
-
Vicențiu Ciorbaru