Debugging and investigating on the robot¶
This section gives you some tips about debug and investigation methods on the robot.
Note that all the following is done logged over ssh on the robot.
For further details, see: Accessing NAO over ssh.
Debugging NAOqi development¶
Refer to Debugging C/C++ on the robot.
NAOqi issue report¶
Since the 1.14 release, a issue report generator is embedded in NAOqi.
When NAOqi ends prematurely in an unexpected way, an issue report is
generated in: /var/lib/minidump
.
To help us improving the software quality, feel free to send those reports to SoftBank Robotics.
Investigating system issues¶
In NAOqi OS, several program generate logs that are stored in the /var/log
directory or any of its sub-directories.
Because the /var/log
directory is volatile, it is reset on each power-down.
Diagnosis and reports¶
In case of weird behavior of the robot, the nao-diagnostic
program can gather
many data about the robot state into a tarball located by default in:
/home/nao/diagnosis
.
To help us improving the software quality, feel free to send those diagnosis to SoftBank Robotics.
Retrieving logs files on the robot¶
There are two types of logs files available on our robots:
- naoqi-bin logs (head-naoqi.log and tail-naoqi.log)
- Services logs (services started with NAOqi ALServiceManager)
Here is where you can locate them on our robots
Log process | Logs file path | What is this file? |
---|---|---|
naoqi-bin | /var/log/naoqi/head-naoqi.log | First 2Mo of logs from naoqi-bin process |
/var/log/naoqi/tail-naoqi.log | Last 2Mo of logs from naoqi-bin process | |
application.ServiceName | /var/log/naoqi/servicemanager/application.ServiceName.log | All logs written on the standard output from application.ServiceName started with ALServiceManager |
/var/log/naoqi/servicemanager/application.ServiceName_error.log | All logs written on the error output from application.ServiceName started with ALServiceManager | |
/var/log/naoqi/servicemanager/application.ServiceName.log.old | Same as application.ServiceName.log but comming from the previous run of the process | |
/var/log/naoqi/servicemanager/application.ServiceName_error.log.old | Same as application.ServiceName_error.log but comming from the previous run of the process |
Here is an example for our main service on the robot: naoqi-service process
Log process | Logs file path | What is this file? |
---|---|---|
system.Naoqi | /var/log/naoqi/servicemanager/system.Naoqi.log | All logs written on the standard output from system.Naoqi (naoqi-service process) |
/var/log/naoqi/servicemanager/system.Naoqi_error.log | All logs written on the error output from system.Naoqi (naoqi-service process) | |
/var/log/naoqi/servicemanager/system.Naoqi.log.old | Same as system.Naoqi.log but comming from the previous run of naoqi-service | |
/var/log/naoqi/servicemanager/system.Naoqi_error.log.old | Same as system.Naoqi_error.log but comming from the previous run of naoqi-service |
Retrieving logs files on Desktop¶
On desktop you only get services logs.
Linux and MacOS¶
Log process | Logs file path |
---|---|
application.ServiceName | ${HOME}/.local/share/PackageManager/logs/application.ServiceName.log |
${HOME}/.local/share/PackageManager/logs/application.ServiceName_error.log | |
${HOME}/.local/share/PackageManager/logs/application.ServiceName.log.old | |
${HOME}/.local/share/PackageManager/logs/application.ServiceName_error.log.old |
Windows¶
Log process | Logs file path |
---|---|
application.ServiceName | %APPDATA%\PackageManager\logs\application.ServiceName.log |
%APPDATA%\PackageManager\logs\application.ServiceName_error.log | |
%APPDATA%\PackageManager\logs\application.ServiceName.log.old | |
%APPDATA%\PackageManager\logs\application.ServiceName_error.log.old |