You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Backward.cpp is already used fairly effectively by the Gazebo team. It provides end users with a stack trace in the event that there is a segfault in their code by installing a signal handler. This can help us better understand issues with our own code and aid plugin developers with debugging as well.
So while I think this would be helpful, I think there are a few things we need to consider:
Does Backward.cpp work across both Linux and Windows?
If the answer to the previous question is "yes", can we get it from the platform (i.e. Ubuntu)?
The signal handling story in ROS 2 is complicated. If we want to implement this across the board, we'd probably have to at least implement it in rclcpp, rclpy, rosbag2, and possibly ros2cli and launch (the latter two are Python, but maybe we want to install it anyway). We'd also have to integrate with the existing signal handling, which is quite complicated (especially on Windows).
Does Backward.cpp work across both Linux and Windows?
Yes.
If the answer to the previous question is "yes", can we get it from the platform (i.e. Ubuntu)?
Ubuntu seems to have a package but the package does not provide cmake targets. In the OSRF codebase it seems to be vendored in osrf_testing_tools_cpp and in 2 different places in gazebo.
The signal handling story in ROS 2 is complicated. If we want to implement this across the board, we'd probably have to at least implement it in rclcpp, rclpy, rosbag2, and possibly ros2cli and launch (the latter two are Python, but maybe we want to install it anyway). We'd also have to integrate with the existing signal handling, which is quite complicated (especially on Windows).
I've never had luck with using backward-cpp with python. That being said, I think perusing the rclcpp repo there is an open issue ros2/rclcpp#2396 which is related. In my mind it makes sense to provide RVIZ and
Backward.cpp
is already used fairly effectively by the Gazebo team. It provides end users with a stack trace in the event that there is a segfault in their code by installing a signal handler. This can help us better understand issues with our own code and aid plugin developers with debugging as well.Options to consider:
The text was updated successfully, but these errors were encountered: