Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
installation_guide:debug:start [2016/05/23 10:42] – borja | installation_guide:debug:start [2018/10/24 08:25] – [VoiceXML Log levels] borja |
---|
====== Debug commands ====== | ====== Debug commands ====== |
| |
| ==== Enable Voximal module traces === |
| |
| Execute : |
| <code> |
| CLI> voximal debug |
| </code> |
| |
| |
| ==== Enable Voximal interpreter traces === |
| |
| Execute : |
| <code> |
| CLI> voximal debug interpreter |
| </code> |
| |
| ==== Generate a normal stop ==== |
| |
Clean stop of the Voximald process : | Clean stop of the Voximald process : |
</code> | </code> |
| |
Start the voximald process with Valgrid | ==== Valgrid using ==== |
| |
| The Asterisk module launch the interpreter by defaut, you need to disable it to be able to run the voximald process with Valgrid. |
| |
| To disable the Voximal launch from the Asterisk module edit and add this option in the voximal.conf : |
| |
| <code> |
| [general] |
| ... |
| launcher=no |
| ... |
| </code> |
| |
| Start the voximald process with Valgrid : |
| |
| <code> |
| #root valgrind --tool=memcheck --leak-check=full --log-file="logfile.out" /usr/sbin/voximald -channels 1 -config /etc/openvxi/client.cfg -user asterisk -group asterisk |
| </code> |
| |
| And run the Asterisk. |
| |
| <code> |
| asterisk -cvvvvv -U asterisk -G asterisk -g |
| </code> |
| |
| ==== VoiceXML Log levels ==== |
| |
| Format : |
| |
| <code> |
| |
| Diagnostic |
| date/time | threadID | sessionID or mark | tagID | subtag | text |
| |
| Error |
| date/time | threadID | sessionID or -1 | 0 | severity | modulename | errorID | errorText | appends |
| |
| Event |
| date/time | threadID | sessionID | EVENT | 0|evenID | appends |
| </code> |
| |
| Logging example : |
| |
| <code> |
| ... |
| Oct 23 23:39:12.35|0x7f82daebb700|-1|4002||AccessBegin Locked |
| Oct 23 23:39:12.35|0x7f82daebb700|-1|4002||AccessEnd Unlock |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|4000|SBjsiGetVar|exiting: returned 0, 0x7f82daeb34e0 (0x7f82d419a750) |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|8002|fr.ulex.vxi|VXI::assign_element(set value : id=08facd13i9e0q9o1m4vav8ghvn8tbagn21bfcb5) |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|5001|VXIpromptWait|VXIprompt |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|5001|VXIpromptWait|Waiting PROMPT |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|5001|VXIpromptWait|EVT < 1 : prompt|session=1|item=1|result=ok |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|8002|fr.ulex.vxi|VXI::DoInnerJump() |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|4000|SBjsiCheckVar|entering: 0x7f82d412af00, '$_internalName_31627' |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|4004|JsiContext::CheckVar|Check variable $_internalName_31627, context 0x7f82d41656e0 |
| Oct 23 23:39:12.35|0x7f82daebb700|-1|4002||AccessBegin Lock |
| Oct 23 23:39:12.35|0x7f82daebb700|-1|4002||AccessBegin Locked |
| Oct 23 23:39:12.35|0x7f82daebb700|-1|4002||AccessEnd Unlock |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|4000|SBjsiCheckVar|exiting: returned 0 |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|4000|SBjsiCheckVar|entering: 0x7f82d412af00, '$_internalName_31628' |
| Oct 23 23:39:12.35|0x7f82daebb700|0_1_1540337949.313|4004|JsiContext::CheckVar|Check variable $_internalName_31628, context 0x7f82d41656e0 |
| Oct 23 23:39:12.35|0x7f82daebb700|-1|4002||AccessBegin Lock |
| ... |
| </code> |
| |
| |
| The default log bases (used to define tagIDs) : |
| |
| <code> |
| client.cache.diagLogBase VXIInteger 2000 |
| client.inet.diagLogBase VXIInteger 3000 |
| client.jsi.diagLogBase VXIInteger 4000 |
| client.prompt.diagLogBase VXIInteger 5000 |
| client.rec.diagLogBase VXIInteger 6000 |
| client.tel.diagLogBase VXIInteger 7000 |
| client.vxi.diagLogBase VXIInteger 8000 |
| client.object.diagLogBase VXIInteger 9000 |
| client.client.diagLogBase VXIInteger 10000 |
| </code> |
| |
| |
| === Interet connector === |
| |
| <code> |
| <DiagnosticMessages moduleName="*SBinet"> |
| <diag tag="0">SBinet: API trace </diag> |
| <diag tag="1">SBinet: Channel diagnostics </diag> |
| <diag tag="2">SBinet: Stream diagnostics </diag> |
| <diag tag="3">SBinet: Cookie diagnostics </diag> |
| <diag tag="4">SBinet: Validator diagnostics </diag> |
| <diag tag="5">SBinet: Cache diagnostics </diag> |
| <diag tag="6">SBinet: Timing diagnostics </diag> |
| <diag tag="10">SBinet: Dump HTTP requests and responses </diag> |
| |
| </DiagnosticMessages> |
| </code> |
| |
| |
| === Cache === |
| |
| <code> |
| <DiagnosticMessages moduleName="*SBcache"> |
| <diag tag="0">SBcache: API trace </diag> |
| <diag tag="1">SBcache: Cache manager diagnostics </diag> |
| <diag tag="2">SBcache: Cache entry diagnostics </diag> |
| <diag tag="3">SBcache: Cache stream diagnostics </diag> |
| <diag tag="4">SBcache: Cache entry table mutex diagnostics </diag> |
| <diag tag="5">SBcache: Cache entry mutex diagnostics </diag> |
| </DiagnosticMessages> |
| </code> |
| |
| |
| === EcmaScript interpreter === |
| |
| <code> |
| <DiagnosticMessages moduleName="*SBjsi"> |
| <diag tag="0">SBjsi: API trace </diag> |
| <diag tag="1">SBjsi: JavaScript context diagnostics </diag> |
| <diag tag="2">SBjsi: JavaScript garbage collection trace </diag> |
| <diag tag="4">SBjsi: JavaScript scope diagnostics </diag> |
| <diag tag="200">SBjsi: Native ScriptEase error messages </diag> |
| <diag tag="201">SBjsi: ScriptEase debug log messages </diag> |
| </DiagnosticMessages> |
| </code> |
| |
| === Client main === |
| |
| <code> |
| <DiagnosticMessages moduleName="*OSBclient"> |
| <diag tag="0">OSBclient: API trace </diag> |
| <diag tag="1">OSBclient: Component names and versions </diag> |
| <diag tag="2">OSBclient: General diagnostics </diag> |
| </DiagnosticMessages> |
| </code> |
| |
| |
| === Objects === |
| |
| <code> |
| <DiagnosticMessages moduleName="*OSBobject"> |
| <diag tag="0">OSBobject: API trace </diag> |
| </DiagnosticMessages> |
| </code> |
| |
| === VoiceXML interpreter (VXI) === |
| |
| <code> |
| <DiagnosticMessages moduleName="*.vxi"> |
| <diag tag="0">VXI: VoiceXML document and application warnings</diag> |
| <diag tag="1">VXI: VoiceXML log element output</diag> |
| <diag tag="2">VXI: VoiceXML element logging</diag> |
| <diag tag="3">VXI: VoiceXML grammar logging</diag> |
| <diag tag="4">VXI: VoiceXML transitions</diag> |
| <diag tag="5">VXI: VoiceXML log Contents (VoiceXML and Data XML/Json)</diag> |
| </DiagnosticMessages> |
| </code> |
| |
| === Telephony === |
| |
| <code> |
| <DiagnosticMessages moduleName="*.VXItel"> |
| <diag tag="0">VXItel: Signaling trace </diag> |
| </DiagnosticMessages> |
| </code> |
| |
| |
| === Prompt === |
| |
| <code> |
| <DiagnosticMessages moduleName="*.VXIprompt"> |
| <diag tag="0">VXIprompt: Prompting trace </diag> |
| </DiagnosticMessages> |
| </code> |
| |
| |
| === Recognize === |
<code> | <code> |
#root valgrind --tool=memcheck --leak-check=full --log-file="logfile.out" /usr/sbin/openvxi -channels 2 -config /etc/openvxi/client.cfg | <DiagnosticMessages moduleName="*.VXIrec"> |
| <diag tag="0">VXIrec: Recognition trace </diag> |
| <diag tag="1">VXIrec: Grammar trace </diag> |
| </DiagnosticMessages> |
</code> | </code> |