zoukankan      html  css  js  c++  java
  • (OK) 调试cBPM—CentOS7—gdb—gdbserver—问题的解决—5—process指向错误地址

    --------------再接再厉(在CentOS 7没有解决这个问题,现在来解决)
    -------------------------------------调试问题5-----------------------------------process指向错误地址

    Program received signal SIGSEGV, Segmentation fault.
    (gdb) s
    Cannot find bounds of current function
    (gdb) c
    Continuing.
    Program terminated with signal SIGSEGV, Segmentation fault.
    The program no longer exists.
    (gdb)

    --------------设置断点
    break WorkflowListener.cpp:67
    s
    break bOSProcess.cpp:92
    ------
    break Workflow.cpp:86
    break Workflow.cpp:106
    break Workflow.cpp:139
    break Workflow.cpp:154
    ------
    break Workflow.cpp:106
    (gdb) p process
    $3 = (DataManager::Panorama::WorkflowProcesses::WorkflowProcess *) 0x5fe9f0
    (gdb) p processID
    $4 = 0x605e40 "2015-1014-1745-23179-1108168521"
    ------
    break bOSProcess.cpp:20
    break bOSProcess.cpp:28
    break bOSProcess.cpp:47
    break bOSProcess.cpp:147
    break bOSProcess.cpp:182
    ------
    break bOSProcess.cpp:28
    (gdb) p m_ProcessID
    $5 = 4222
    break BaseWorkflowEvent.cpp:22        //return _WF->getProcess()->getProcessId();
                                    //_WF->getProcess()返回process(Workflow.cpp:504),
                                    //但是单步进不去getProcessId()()

    ----------------------------------下面是 具体 找错方法:
    break Workflow.cpp:86
    break Workflow.cpp:106
    break Workflow.cpp:139
    break Workflow.cpp:154
    break BaseWorkflowEvent.cpp:22
    r
    s
    c
    在Workflow.cpp:106停止, 执行 n,然后
    (gdb) p process
    $19 = (DataManager::Panorama::WorkflowProcesses::WorkflowProcess *) 0x5fe9f0
    (gdb) c
    22        return _WF->getProcess()->getProcessId();
    (gdb) p _WF        //这个值正确,因为能够调用getProcess()
    $9 = (WorkflowEngine::Criteria::Core::Workflow *) 0x5585d0
    (gdb) s
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:504
    504        return process;
    (gdb) p process        //这个值不正确,因为不能够调用getProcessId()
    $20 = (DataManager::Panorama::WorkflowProcesses::WorkflowProcess *) 0x558650 <typeinfo for WorkflowEngine::Criteria::Event::WorkflowEvent::RestartedWorkflowEvent>

    (gdb) set var process=0x5fe9f0            //修改变量的值
    (gdb) p process        //修改process的值后,这个值不正确,能够调用getProcessId()
    $21 = (DataManager::Panorama::WorkflowProcesses::WorkflowProcess *) 0x5fe9f0
    (gdb) s
    DataManager::Panorama::WorkflowProcesses::ProcessComponent::getProcessId (this=0x5fea28)
        at /opt/cBPM-android/criteria-lin/include/WorkflowEngine/ProcessComponent.h:29
    29                    virtual const char* getProcessId() { return processId.c_str();}
    (gdb)

    《《《《《《《《查找原因,为什么Workflow.cpp:504,得到的process是错误的值》》》》》》》

    下面很重要,是生成process的地方
        /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/DataBaseHelper.cpp:637
    具体代码在:
        /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/ProcessesHandler.cpp:119

    break DataBaseHelper.cpp:637
    break BaseWorkflowEvent.cpp:22

    -----------下面通过查找原因
    break WorkflowListener.cpp:68
    break BaseWorkflowEvent.cpp:22
    break Workflow.cpp:504

    break Workflow.cpp:106            //process值0x5fe9f0,process地址0x5c7f44
    break ProcessesHandler.cpp:119        //process值0x5fe9f0,process地址0xbec73260,指针作为参数,正常。
    break Workflow.cpp:504            //process值0x558650,process地址0x558644(5604932)---> 同在Workflow.cpp,why不一样?
                                    //可能原因,是 指向了错误的 Workflow 对象
                                    //break Workflow.cpp:68 75 91 132
    break DataBaseHelper.cpp:643        //process值0x5fe9f0,process地址0xbed0541c,next is 0xbe90a41c

    (gdb) p/x *0x5c7f44
    $19 = 0x5fe9f0
    (gdb) p/x *0x558644
    $20 = 0x558650
    (gdb)
    (gdb) display/ 0x5c7f44            //可以设置一些自动显示的变量,当程序停住时,或是在你单步跟踪时,这些变量会自动显示。
    (gdb) display/ 0x558644

    break Workflow.cpp:68
    break Workflow.cpp:75
    break Workflow.cpp:91
    break Workflow.cpp:132

    执行顺序:
    -------> 91
    (gdb) p process
    $25 = (DataManager::Panorama::WorkflowProcesses::WorkflowProcess *) 0x5fe9f0
    (gdb) p &process
    $26 = (DataManager::Panorama::WorkflowProcesses::WorkflowProcess **) 0x5c7f44
    (gdb)


    break main.cpp:59
    break main.cpp:78
    break main.cpp:88
    break main.cpp:95
    break main.cpp:102
    break main.cpp:137
    break main.cpp:143
    break main.cpp:155


    ----------------
    (gdb) break Workflow.cpp:202
    (gdb) c
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:202
    202            this->throwEvent( StartedWorkflowEvent(this) );
    (gdb) p this
    $10 = (WorkflowEngine::Criteria::Core::Workflow * const) 0x5c7ed0

        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:404
    404                        throwEvent ( EndWorkflowEvent ( this ) );
    (gdb) p this
    $11 = (WorkflowEngine::Criteria::Core::Workflow * const) 0x5c7ed0


    break BaseWorkflowEvent.cpp:22
    Breakpoint 14, WorkflowEngine::Criteria::Event::WorkflowEvent::BaseWorkflowEvent::getProcessID (this=0xbead30f8)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/BaseWorkflowEvent.cpp:22
    22        return _WF->getProcess()->getProcessId();
    (gdb) p _WF
    $18 = (WorkflowEngine::Criteria::Core::Workflow *) 0x5585d0 <vtable for WorkflowEngine::Criteria::Event::WorkflowEvent::EndWorkflowEvent+8>
    (gdb) set var _WF=0x5c7ed0
    (gdb) p _WF->getProcess()
    $34 = (DataManager::Panorama::WorkflowProcesses::WorkflowProcess *) 0x5fe9f0

    ----------------从上面分析,进一步发现了错误点,即:BaseWorkflowEvent.cpp:22的 _WF 错误

    break Workflow.cpp:197
    break Workflow.cpp:202
    break Workflow.cpp:404
    break Workflow.cpp:417
    break Workflow.cpp:382

    break WorkflowListener.cpp:50
    break WorkflowListener.cpp:56
    break WorkflowListener.cpp:62
    break WorkflowListener.cpp:68
    break WorkflowListener.cpp:74

    执行顺序:
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:202
    202            this->throwEvent( StartedWorkflowEvent(this) );
    (gdb) p this
    $35 = (WorkflowEngine::Criteria::Core::Workflow * const) 0x5c7ed0

        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:404
    404                        throwEvent ( EndWorkflowEvent ( this ) );
    (gdb) p this
    $36 = (WorkflowEngine::Criteria::Core::Workflow * const) 0x5c7ed0

        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/WorkflowListener.cpp:68
    68            processID = ((EndWorkflowEvent*)evt)->getProcessID();
    (gdb) p evt
    $37 = (WorkflowEngine::Criteria::Event::BaseEvent *) 0xbec6c0f8

    ----------------从上面分析,进一步发现了错误点,即:WorkflowListener.cpp:68的 evt 错误,然后,bt,追踪精确故障点

    (gdb) bt
    #0  WorkflowEngine::Criteria::Event::Listener::WorkflowListener::eventAction (this=0x61abd0, event=...)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/WorkflowListener.cpp:68
    #1  0x0009e074 in WorkflowEngine::Criteria::Event::EventMaker::throwEvent (this=0x5c7f14, evt=...)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/EventMaker.cpp:36
    #2  0x0008d59c in WorkflowEngine::Criteria::Core::Workflow::starting (this=0x5c7ed0)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:404
    #3  0x00102acc in WorkflowEngine::Criteria::Core::IWorkflow::start (this=0x5c7ed0)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/IWorkflow.cpp:79
    #4  0x00098bb4 in WorkflowEngine::Criteria::Core::WorkFlowThread::run (this=0x60c648)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/WorkFlowThread.cpp:15
    #5  0x000964e0 in WorkflowEngine::Criteria::Core::WorkflowManager::executeJob (this=0x605ca0, pWF=0x5c7ed0, bDetach=false)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/WorkflowManager.cpp:155
    #6  0x00087ea4 in WorkflowEngine::Criteria::Core::Engine::execute (this=0x61abc8,
        processInstanceID=0x605e40 "2015-1015-2253-59275-1312213739", bRestart=false, acStatus=0x0, bSynchWay=true)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:182
    #7  0x000879bc in WorkflowEngine::Criteria::Core::Engine::startWorkFlowInSynchWay (this=0x61abc8,
        processID=0x605e40 "2015-1015-2253-59275-1312213739")
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:96
    #8  0x0001807c in startProcessInSynchWay (acProcessID=0x605e40 "2015-1015-2253-59275-1312213739", response=0x5c2e68)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/WAPI/WAPIProcess.cpp:371
    #9  0x0000b4cc in main (argc=2, argv=0xbec6ca44)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Tools/Criteria.Tools.Executor/src/main.cpp:95
    (gdb)
    (gdb) p evt
    $1 = (WorkflowEngine::Criteria::Event::BaseEvent *) 0xbe8020f8
    (gdb) p event
    _M_data = 0x60ec18
    (gdb) f 1
    (gdb) p evt
    _M_data = 0x60ec18
    (gdb) f 2
    (gdb) p this
    $4 = (WorkflowEngine::Criteria::Core::Workflow * const) 0x5c7ed0
    (gdb)
    ----------------从上面分析,找到了问题的解决方法,如下:
    [root@localhost criteria-lin]# pwd
    /opt/cBPM-android/criteria-lin

    gedit /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp
        将 *WorkflowEvent(this)  替换为  (*WorkflowEvent*)(this)

    [root@localhost criteria-lin]# grep 'BaseEvent&' -R .|cut -d: -f1|uniq|grep -v 'h~'|grep -v 'cpp~'
    ./src/Criteria/Criteria.WorkflowEngine/events/WorkflowListener.cpp
    ./src/Criteria/Criteria.WorkflowEngine/events/EventMaker.cpp
    ./include/WorkflowEngine/EventListener.h
    ./include/WorkflowEngine/EventMaker.h
    ./include/WorkflowEngine/WorkflowListener.h

    将上面搜索到的文件中,将 BaseEvent& 替换为 BaseEvent*

    ----------------至此,经过一个星期左右的时间,成功将PC Linux版 cBPM 移植到Android(ARM)





    ----------------
    [root@localhost criteria-lin]# grep "process =" -R .|cut -d: -f1|uniq|grep bin

    break WAPIProcess.cpp:36
    break WAPIProcess.cpp:63
    break WAPIProcess.cpp:91
    break WAPIProcess.cpp:118
    break WAPIProcess.cpp:194
    break WAPIProcess.cpp:229
    break WAPIProcess.cpp:550
    break Engine.cpp:330
    break BaseAction.cpp:37
    break BaseProcessEvent.cpp:10
    break BaseProcessEvent.cpp:17
    break WorkflowReport.cpp:18
    break DataBaseTemplate.cpp:204
    break ProcessActionAttach.cpp:69
    break ProcessesHandler.h:26


    -------------->没有设置断点时的 执行 堆栈
    (gdb)
    #0  0xe50b0008 in ?? ()
    #1  0x00105a24 in WorkflowEngine::Criteria::Event::WorkflowEvent::BaseWorkflowEvent::getProcessID (this=0xbed7e0f8)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/BaseWorkflowEvent.cpp:22
    #2  0x000a3f64 in WorkflowEngine::Criteria::Event::Listener::WorkflowListener::eventAction (this=0x61abd0, event=...)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/WorkflowListener.cpp:68
    #3  0x0009e074 in WorkflowEngine::Criteria::Event::EventMaker::throwEvent (this=0x5c7f14, evt=...)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/EventMaker.cpp:36
    #4  0x0008d59c in WorkflowEngine::Criteria::Core::Workflow::starting (this=0x5c7ed0)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:404
    #5  0x00102acc in WorkflowEngine::Criteria::Core::IWorkflow::start (this=0x5c7ed0)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/IWorkflow.cpp:79
    #6  0x00098bb4 in WorkflowEngine::Criteria::Core::WorkFlowThread::run (this=0x60c648)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/WorkFlowThread.cpp:15
    #7  0x000964e0 in WorkflowEngine::Criteria::Core::WorkflowManager::executeJob (this=0x605ca0, pWF=0x5c7ed0, 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=0x61abc8,
        processInstanceID=0x605e40 "2015-1015-2211-08205-1671411348", 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=0x61abc8,
        processID=0x605e40 "2015-1015-2211-08205-1671411348")
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:96
    #10 0x0001807c in startProcessInSynchWay (acProcessID=0x605e40 "2015-1015-2211-08205-1671411348", response=0x5c2e68)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/WAPI/WAPIProcess.cpp:371
    #11 0x0000b4cc in main (argc=2, argv=0xbed7ea44)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Tools/Criteria.Tools.Executor/src/main.cpp:95
    (gdb)

    ------
    Breakpoint 9, WorkflowEngine::Criteria::Event::WorkflowEvent::BaseWorkflowEvent::getProcessID (this=0xbe9d40e8)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/BaseWorkflowEvent.cpp:22
    22        return _WF->getProcess()->getProcessId();
    ------
    break ProcessComponent.h:24
    s
    (gdb) bt
    #0  DataManager::Panorama::WorkflowProcesses::ProcessComponent::getProcessId (this=0x5ffaa8)
        at /opt/cBPM-android/criteria-lin/include/WorkflowEngine/ProcessComponent.h:29
    #1  0x00022390 in DataManager::Panorama::WorkflowProcesses::Activity::equalTo (this=0x5fedf0, entry=0x5ffa8c)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/Activity.cpp:421
    #2  0x00145bdc in bOS::Collections::Collection::add (this=0xbeda96f0, entry2Add=0x5ffa8c)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Libraries.bOS/Collections/bOSCollection.cpp:31
    #3  0x0001c2bc in DataManager::Panorama::WorkflowProcesses::Activities::parse (this=0xbeda96ec, node=0x619fd8)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/Activities.cpp:44
    #4  0x001610c4 in bOS::XML::Data::XMLObject::init (this=0xbeda96ec, root=0x602398)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Libraries.bOS/XML/Data/bOSXMLObject.cpp:89
    #5  0x00161768 in bOS::XML::Data::XMLObjectSet::init (this=0xbeda96ec, node=0x602398)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Libraries.bOS/XML/Data/bOSXMLObjectSet.cpp:43
    #6  0x0001c1c0 in DataManager::Panorama::WorkflowProcesses::Activities::init (this=0xbeda96ec, node=0x602398)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/Activities.cpp:31
    #7  0x0007cec0 in DataManager::Panorama::WorkflowProcesses::WorkflowProcess::parse (this=0xbeda95d8, node=0x602398)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/WorkflowProcess.cpp:93
    #8  0x001610c4 in bOS::XML::Data::XMLObject::init (this=0xbeda95d8, root=0x605048)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Libraries.bOS/XML/Data/bOSXMLObject.cpp:89
    #9  0x00163740 in bOS::XML::Data::XMLFile::init (this=0xbeda95d8, node=0x605048)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Libraries.bOS/XML/Data/FileSystem/bOSXMLFile.cpp:39
    #10 0x0007cad8 in DataManager::Panorama::WorkflowProcesses::WorkflowProcess::init (this=0xbeda95d8, node=0x605048)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/WorkflowProcess.cpp:50
    #11 0x00034e18 in DataManager::DataBase::DataBaseHelper::createProcess (this=0x5fbac0, acWorkflowName=0xbeda99c0 "TestNotePad", process=..., b2Prepared=true)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/DataBase/DataBaseHelper.cpp:240
    #12 0x000179ac in createWorkflowProcess (acWorkflowName=0xbeda99c0 "TestNotePad", acProcessId=0x605e40 "210R`", response=0x5c2e68)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/WAPI/WAPIProcess.cpp:332
    #13 0x0000b498 in main (argc=2, argv=0xbeda9a34)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Tools/Criteria.Tools.Executor/src/main.cpp:88
    (gdb)




    --------------
    0x00105a20 in WorkflowEngine::Criteria::Event::WorkflowEvent::BaseWorkflowEvent::getProcessID (this=0xbee840e8)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/BaseWorkflowEvent.cpp:22
    22        return _WF->getProcess()->getProcessId();
    Could not insert single-step breakpoint at 0xe50b0008
    --------------
    break BaseWorkflowEvent.cpp:22
    s
    (gdb) bt
    #0  WorkflowEngine::Criteria::Core::Workflow::getProcess (
        this=0x5585d0 <vtable for WorkflowEngine::Criteria::Event::WorkflowEvent::EndWorkflowEvent+8>)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:504
    #1  0x00105a08 in WorkflowEngine::Criteria::Event::WorkflowEvent::BaseWorkflowEvent::getProcessID (this=0xbee840e8)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/BaseWorkflowEvent.cpp:22
    #2  0x000a3f64 in WorkflowEngine::Criteria::Event::Listener::WorkflowListener::eventAction (this=0x61abd0, event=...)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/WorkflowListener.cpp:68
    #3  0x0009e074 in WorkflowEngine::Criteria::Event::EventMaker::throwEvent (this=0x5c7f14, evt=...)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/events/EventMaker.cpp:36
    #4  0x0008d59c in WorkflowEngine::Criteria::Core::Workflow::starting (this=0x5c7ed0)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Workflow.cpp:404
    #5  0x00102acc in WorkflowEngine::Criteria::Core::IWorkflow::start (this=0x5c7ed0)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/IWorkflow.cpp:79
    #6  0x00098bb4 in WorkflowEngine::Criteria::Core::WorkFlowThread::run (this=0x603be8)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/WorkFlowThread.cpp:15
    #7  0x000964e0 in WorkflowEngine::Criteria::Core::WorkflowManager::executeJob (this=0x605ca0, pWF=0x5c7ed0, 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=0x61abc8,
        processInstanceID=0x605e40 "2015-1014-1640-54357-820121757", 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=0x61abc8,
        processID=0x605e40 "2015-1014-1640-54357-820121757")
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/engine/Engine.cpp:96
    #10 0x0001807c in startProcessInSynchWay (acProcessID=0x605e40 "2015-1014-1640-54357-820121757", response=0x5c2e68)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.WorkflowEngine/WAPI/WAPIProcess.cpp:371
    #11 0x0000b4cc in main (argc=2, argv=0xbee84a34)
        at /opt/cBPM-android/criteria-lin/src/Criteria/Criteria.Tools/Criteria.Tools.Executor/src/main.cpp:95
    (gdb)




    --------------手机
    shell@mb526:/ $
    getprop |grep ip
    [dhcp.wlan0.ipaddress]: [192.168.0.101]

    export WF_HOME=/data/data/criteria; export CRITERIA_HOME=/data/data/criteria
    cd /data/data/criteria
    ./gdbserver 192.168.0.100:1234 ./executer

    --------------宿主机
    # pwd
    /opt/cBPM-android/criteria-lin/bin/Criteria/Debug/Tools.Executor
    # export PATH=$PATH:/opt/android-on-linux/android-ndk-r10d/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/
    # arm-linux-androideabi-gdb executer
    target extended-remote 192.168.0.104:1234
    set debug remote 1
    set args TestNotePad
    c
    --------------



    <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
    阅读(72) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~
    评论热议
  • 相关阅读:
    Python操作Excel
    JMeter生成UUID方式
    JMeter之Beanshell用法
    JMeter后置处理器
    JMeter后置处理器
    Python之正则匹配 re库
    read(),readline() 和 readlines() 比较
    Python的位置参数、默认参数、关键字参数、可变参数之间的区别
    调查管理系统 -(6)自定义Struts2的拦截器&自定义UserAware接口&Action中模型赋值问题&Hibernate懒加载问题
    调查管理系统 -(5)Struts2配置&用户注册/登录/校验
  • 原文地址:https://www.cnblogs.com/ztguang/p/12649010.html
Copyright © 2011-2022 走看看