Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port GDB Guide from NAV2 to ros2_documenation #4178

Closed
Ryanf55 opened this issue Feb 20, 2024 · 12 comments
Closed

Port GDB Guide from NAV2 to ros2_documenation #4178

Ryanf55 opened this issue Feb 20, 2024 · 12 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@Ryanf55
Copy link
Contributor

Ryanf55 commented Feb 20, 2024

Purpose

NAV2 has an excellent guide on using GDB with ROS 2:

https://navigation.ros.org/tutorials/docs/get_backtrace.html

The guide has very little to do with NAV2, and is helpful for anyone using ROS.

This ticket is to keep track of porting the information over.

Improvements

  1. Use the --mixin debug when compiling rather than modifying the CMakeLists to add debug symbols.
  2. Link in some GDB training like this one - using GDB is more than getting a backtrace: https://www.youtube.com/watch?v=PorfLSr3DDI
  3. Perhaps link in using VSCode instructions - the statement Many IDEs will have some kind of debugger or profiler built in, but with ROS, there are few IDEs to choose. is not as true with open source editors such as VSCode and most debugging is done on dev machines anyways
  4. Provide an example repository with a segfault that users can try GDB out on, and perhaps integrate the backward-cpp interface.
@fujitatomoya
Copy link
Collaborator

@Ryanf55 i think this is useful for developers, IMO probably we can move the ROS 2 generic part from Nav2 to ROS 2 doc? So that Nav2 just has a link to that? (Nav2 specific guide can stay in Nav2 repo.)

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Feb 20, 2024

Yes, that is what I had in mind.

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Feb 20, 2024

Can we tag this as " good first issue" and hopefully someone new gets inspired to do the work?

@clalancette clalancette added help wanted Extra attention is needed good first issue Good for newcomers labels Feb 20, 2024
@ros-discourse
Copy link

This issue has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/growing-issue-with-ros-documentation/36075/65

@GauravKumar9920
Copy link
Contributor

hii, can I work on this issue ?

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Feb 23, 2024

Go for it!

@fujitatomoya
Copy link
Collaborator

@GauravKumar9920 thank you very much, i will be happy to review.

@GauravKumar9920
Copy link
Contributor

GauravKumar9920 commented Feb 25, 2024

Shall, I commit the Tutorial first, followed by the improvements in the future commits.
Also any recommendations on which ROS package example must I use to elaborate on this point.

  1. Provide an example repository with a segfault that users can try GDB out on, and perhaps integrate the backward-cpp interface.

p.s - some general examples have already been included in the documentation.

@GauravKumar9920
Copy link
Contributor

Further, under what hierarchy of the ROS2 documentation shall I add this section in ?

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Feb 25, 2024

Shall, I commit the Tutorial first, followed by the improvements in the future commits. Also any recommendations on which ROS package example must I use to elaborate on this point.

  1. Provide an example repository with a segfault that users can try GDB out on, and perhaps integrate the backward-cpp interface.

p.s - some general examples have already been included in the documentation.

Yep, that sounds like a good plan.

For which package, it does not matter. It might actually be a good idea to create a ROS package that intentionally has a segfault, so others can reproduce it.

As far as where, I might put it under intermediate:
https://docs.ros.org/en/humble/Tutorials/Intermediate.html

@Ryanf55
Copy link
Contributor Author

Ryanf55 commented Mar 6, 2024

Looks like there's other resources from Autoware explaining similar things.
https://autowarefoundation.github.io/autoware-documentation/main/support/troubleshooting/#died-process-issues

@clalancette
Copy link
Contributor

Closed by #4190

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants