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"