[Documentation] [TitleIndex] [WordIndex

Note: This tutorial assumes that you have completed the previous tutorials: Using rxconsole and roslaunch.
(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Valgrind か GDBでnodeをroslaunchする方法

Description: roslaunchから立ち上げたroscpp nodesのデバッグを行いたいとき、付属のデバッグツールの変わりにgdb や valgrindのようなデバッグツールでnodeをlaunchしたいと思うかもしれない。これを実現するのは実に簡単である。

Keywords: roslaunch, valgrind, gdb, pdb

Tutorial Level: INTERMEDIATE

<node> タグのattributeのひとつであるlaunch-prefixはROSのnodeがデバッグするのを簡単にしてくれます。以下に幾らかの便利な例を紹介します。



$ ulimit -a
core file size          (blocks, -c) 0           #  <-- Prevents core dumps
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 20
file size               (blocks, -f) unlimited
pending signals                 (-i) 16382
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


ulimit -c unlimited

クラッシュするプロセスは、コアファイルを作ろうとします。しかし、現在 (2010-07-02)、デフォルトのroslaunchのワーキングディレクトリである$ROS_HOMEが"core"という名前のディレクトリを含んでいるため、ファイルを作るのに失敗します。


echo 1 > /proc/sys/kernel/core_uses_pid


2020-01-11 12:42