(OK) 调试cBPM—CentOS7—gdb—gdbserver—问题的解决—4—段错误

Criteria session Initialization.....(look at Executor trace file)
Criteria session Initialization [OK]
Create process instance from template    ——> /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Tools/Criteria.Tools.Executor/src/main.cpp:78

Child terminated with signal = 0xb (SIGSEGV)

--------------
Criteria session Initialization.....(look at Executor trace file)
Criteria session Initialization [OK]
Create process instance from template

Child terminated with signal = 0xb (SIGSEGV)

--------------查看日志文件Executor-*.trace,找原因
shell@mb526:/data/data/criteria $ pwd                                                                                                 
/data/data/criteria
shell@mb526:/data/data/criteria $ less Executor-5331-20151014-092322.trace

09:23:22.381-1073824092-    FileSystemConnection::init-CODEBLOCK-FileSystemConnection.cpp-OUT[17ms]
09:23:22.382-1073824092-    FileSystemDataBase::open-INFO-FileSystemDataBase.cpp[53]-Reading Role File [/data/data/criteria/database/Criteria.Roles.xml]

--------------设置断点
break FileSystemDataBase.cpp:53
break BaseWorkflowEvent.cpp:22
break Workflow.cpp:184
break Workflow.cpp:373

InitSessionWithParams (acConfigFile=0x5c7ed0 "/data/data/criteria/database/Criteria.xml", response=0x5c2e68)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/WAPI/WAPI.cpp:80
80            CM_TRACE_INFO("Instancing Engine")

WorkflowEngine::Criteria::Core::Engine::instance ()
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:24
24    {

(main.cpp:95)——>
startProcessInSynchWay (acProcessID=0x605290 "2015-1014-0953-07739-991735505", response=0x5c2e68)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/WAPI/WAPIProcess.cpp:365
365    {

WorkflowEngine::Criteria::Core::Engine::instance ()
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:24
24    {

(gdb) bt
#0  0xe50b0008 in ?? ()
#1  0x001059f4 in WorkflowEngine::Criteria::Event::WorkflowEvent::BaseWorkflowEvent::getProcessID (this=0xbee8e184)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/BaseWorkflowEvent.cpp:22
#2  0x000a3e68 in WorkflowEngine::Criteria::Event::Listener::WorkflowListener::eventAction (this=0x61abc0, event=...)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/WorkflowListener.cpp:62
#3  0x0009e074 in WorkflowEngine::Criteria::Event::EventMaker::throwEvent (this=0x60baf4, evt=...)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/EventMaker.cpp:36
#4  0x0008d6b0 in WorkflowEngine::Criteria::Core::Workflow::starting (this=0x60bab0)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:417
#5  0x00102a9c in WorkflowEngine::Criteria::Core::IWorkflow::start (this=0x60bab0)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/IWorkflow.cpp:79
#6  0x00098bb4 in WorkflowEngine::Criteria::Core::WorkFlowThread::run (this=0x6188e0)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/WorkFlowThread.cpp:15
#7  0x000964e0 in WorkflowEngine::Criteria::Core::WorkflowManager::executeJob (this=0x605e40, pWF=0x60bab0, bDetach=false)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/WorkflowManager.cpp:155
#8  0x00087ea4 in WorkflowEngine::Criteria::Core::Engine::execute (this=0x61abb8,
    processInstanceID=0x605290 "2015-1014-0953-07739-991735505", bRestart=false, acStatus=0x0, bSynchWay=true)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:182
#9  0x000879bc in WorkflowEngine::Criteria::Core::Engine::startWorkFlowInSynchWay (this=0x61abb8,
    processID=0x605290 "2015-1014-0953-07739-991735505")
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:96
#10 0x0001807c in startProcessInSynchWay (acProcessID=0x605290 "2015-1014-0953-07739-991735505", response=0x5c2e68)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/WAPI/WAPIProcess.cpp:371
#11 0x0000b4cc in main (argc=2, argv=0xbee8ea44)
    at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Tools/Criteria.Tools.Executor/src/main.cpp:95
(gdb)

--------------解决方法如下
/opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor/database/processTemplate/TestNotePad.xml
修改内容如下:
                    <Script Type="API_SYNCH" DataType="BOOLEAN">^?NoteResult?@touch@%FileName1%^</Script>

注意:所有*.xml文件,行尾符号是 unix/linux, 不是windows。

基本成功,达到了 在 CentOS 7 上运行的效果。

日志文件的最后以行:
11:28:34.051-1073824092-        eventAction-CODEPATH-WorkflowListener.cpp[67]-Event Received:[EndWorkflowEvent]

--------------至此,基本成功
shell@mb526:/data/data/criteria $ ll notepad.txt                                                                                      
-rw-rw-rw- shell    shell    0 2015-10-14 11:48 notepad.txt        //这个文件是流程在运行期间通过touch命令创建的
shell@mb526:/data/data/criteria $ pwd
/data/data/criteria
shell@mb526:/data/data/criteria $

--------------
原文地址:https://www.cnblogs.com/ztguang/p/12647081.html