Debug symbols missing in compiled TMAP8 - breakpoints point to system headers instead of source code #344
|
Description: Hello, I'm trying to compile and debug TMAP8 following the official installation guide at: https://mooseframework.inl.gov/TMAP8/getting_started/installation.html I've successfully compiled the program using METHOD=dbg, but I'm having trouble setting breakpoints in the TMAP8 source code during debugging. Problem: When I try to set a breakpoint at main in GDB, it points to a system header file instead of the actual TMAP8 source: The output from info sources shows that the debug information seems to be pointing to Conda environment paths and system headers, but not to my actual TMAP8 source code: What I've tried: Environment: Questions: |
Replies: 1 comment 1 reply
|
Hello, thanks for your question! First off, I want to direct your attention to the MOOSE debugging documentation, which will be relevant for TMAP8 as well: https://mooseframework.inl.gov/application_development/debugging.html I am unsure exactly why GDB pointed to that particular location compared to any other (in fact, that header path doesn't really make sense to me.....a MooseApp.h doesn't exist in Eigen). I imagine this is something to do with the conda-based portability changes made to these libraries and headers when the conda package is built. You might ask - why didn't it just go to TMAP8's You'll see in the documentation I linked above that the
In addition, you should have access to symbols for particular methods, like syntax. That is, if I am remembering correctly what is available to you at a class level. You should be able to start typing a class name and use tab-completion to see what might be available for setting breakpoints. Hope this helps! Let me know if you have further questions. |
Hello, thanks for your question!
First off, I want to direct your attention to the MOOSE debugging documentation, which will be relevant for TMAP8 as well: https://mooseframework.inl.gov/application_development/debugging.html
I am unsure exactly why GDB pointed to that particular location compared to any other (in fact, that header path doesn't really make sense to me.....a MooseApp.h doesn't exist in Eigen). I imagine this is something to do with the conda-based portability changes made to these libraries and headers when the conda package is built. You might ask - why didn't it just go to TMAP8's
main()function? Well, that might be related to some of the abstraction we do around MooseA…