如何打开某一个包的debug

ROSIO 

ROS 的debuglevel可以在ROS的配置文件里修改参数TraceLevel参数的值。

1. 先在requirements文件里添加debug的编译选项(注释掉前两行,加上后两行)

#macro_append cpp_opt_flags " -DnoTSTAMP "
#macro_append cppflags " -DDnoEBUG_EMULATEDTRIGGERIN "
macro_append pp_cppflags " -DDEBUG_LEVEL=20 "
macro_remove pp_cppflags "-DDEBUG_LEVEL=0"

2. make clean (没有这一步requirement修改不起作用)

3. make -j 10 (多线程编译)

4 make inst

5. 界面退出后重启

 

 

 

打开的ERS_DEBUG信息

1. 在common-environment.data.xml配置文件里,修改DEF_ERS_DEBUG_LEVEL的value值大小。Value为0时,未开启;Value为20时,小于20的debug信息可以被看到。(打开所有包的ers debug信息)

<obj class="Variable" id="DEF_ERS_DEBUG_LEVEL">
 <attr name="Description" type="string">"Debug level above which messages are not filtered in dbg mode"</attr>
 <attr name="Name" type="string">"TDAQ_ERS_DEBUG_LEVEL"</attr>
 <attr name="Value" type="string">"0"</attr>
 <rel name="TagValues" num="0"></rel>
</obj>

2. 在EBEF-Segment-1-dyb.data.xml 添加ProcessEnvironment 变量 MY_ERS_DEBUG_LEVEL_SFI (打开SFI的ers debug信息)

<obj class="SFIApplication" id="SFI-1">
 <attr name="ActionTimeout" type="s32">30</attr>
 <attr name="ShortTimeout" type="s32">5</attr>
 <attr name="ProbeInterval" type="s32">0</attr>
 <attr name="FullStatisticsInterval" type="s32">0</attr>
 <attr name="IfError" type="enum">"Ignore"</attr>
 <attr name="ControlsTTCPartitions" type="bool">0</attr>
 <attr name="SubType" type="u32">0</attr>
 <attr name="ReceiveMulticast" type="bool">0</attr>
 <attr name="Parameters" type="string">""</attr>
 <attr name="RestartParameters" type="string">""</attr>
 <attr name="Logging" type="bool">1</attr>
 <attr name="InputDevice" type="string">""</attr>
 <attr name="InitTimeout" type="u32">60</attr>
 <attr name="ExitTimeout" type="u32">5</attr>
 <attr name="StartIn" type="string">""</attr>
 <attr name="StartAt" type="enum">"Boot"</attr>
 <attr name="StopAt" type="enum">"Shutdown"</attr>
 <attr name="RestartableDuringRun" type="bool">1</attr>
 <attr name="IfDies" type="enum">"Ignore"</attr>
 <attr name="IfFailed" type="enum">"Ignore"</attr>
 <attr name="CpuMask" type="u32">0xffffffff</attr>
 <rel name="DFApplicationConfig">"DCApplicationConfig" "EF-DCAppConf-1"</rel>
 <rel name="InitializationDependsFrom" num="0"></rel>
 <rel name="ShutdownDependsFrom" num="0"></rel>
 <rel name="Program">"Binary" "SFI_main"</rel>
 <rel name="ExplicitTag">"" ""</rel>
 <rel name="Uses" num="0"></rel>
 <rel name="ProcessEnvironment" num="1">
 "Variable" "MY_ERS_DEBUG_LEVEL_SFI"
 </rel>
 <rel name="RunsOn">"Computer" "cmm03node13"</rel>
 <rel name="SFIConfiguration">"SFIConfiguration" "SFI-Configuration-1"</rel>
</obj>

并添加该变量的定义:

<obj class="Variable" id="MY_ERS_DEBUG_LEVEL_SFI">
 <attr name="Description" type="string">"Debug level above which messages are not filtered in dbg mode"</attr>
 <attr name="Name" type="string">"TDAQ_ERS_DEBUG_LEVEL"</attr>
 <attr name="Value" type="string">"30"</attr>
 <rel name="TagValues" num="0"></rel>
</obj>

 

 

关闭ROSModules的debug, 红色部分的DEBUG_LEVEL值的修改实现,make clean,重新make。

macro_remove pp_cppflags "-DERS_NO_DEBUG"
macro_remove pp_cflags "-DERS_NO_DEBUG"
macro_remove pp_cppflags "-DDEBUG_LEVEL=20"
macro_append pp_cppflags " -DDEBUG_LEVEL=0"
#macro_append pp_cppflags "-DKM2A_DEBUG"

 

posted @ 2017-02-15 16:26  小荷才楼尖尖角  Views(465)  Comments(0Edit  收藏  举报