我正在使用 ofVideoPlayer 和 Poco::pipe 以及 of0.8.0、Visual Studio 2012、Windows 7。
#include "testApp.h"
#include "Poco/Process.h"
#include "Poco/PipeStream.h"
#include "Poco/StreamCopier.h"
#include <fstream>
using Poco::Process;
using Poco::ProcessHandle;
//--------------------------------------------------------------
void testApp::setup(){
std::string cmd("bonanza.exe");
std::vector<std::string> args;
args.push_back("csa_shogi");
Poco::Pipe outPipe;
ProcessHandle ph = Process::launch(cmd, args, 0, &outPipe, 0);
Poco::PipeInputStream istr(outPipe);
myPlayer.loadMovie("sample_mpeg4.mp4");
myPlayer.play();
}
//--------------------------------------------------------------
void testApp::update(){
myPlayer.update();
}
//--------------------------------------------------------------
void testApp::draw(){
myPlayer.draw(20,20);
}
//--------------------------------------------------------------
void testApp::keyPressed(int key){
}
//--------------------------------------------------------------
void testApp::keyReleased(int key){
}
//--------------------------------------------------------------
void testApp::mouseMoved(int x, int y){
}
//--------------------------------------------------------------
void testApp::mouseDragged(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::mousePressed(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::mouseReleased(int x, int y, int button){
}
//--------------------------------------------------------------
void testApp::windowResized(int w, int h){
}
//--------------------------------------------------------------
void testApp::gotMessage(ofMessage msg){
}
//--------------------------------------------------------------
void testApp::dragEvent(ofDragInfo dragInfo){
}
这段代码通过了构建过程,但是它在以下行崩溃了
ProcessHandle ph = Process::launch(cmd, args, 0, &outPipe, 0);
带有一条消息
Unhandled exception at at 0x7591C41F in emptyExample_debug.exe: Microsoft C++ exception: Poco::SystemException at memory location 0x0018F740.
有谁知道这里发生了什么?这是调用堆栈和输出..
堆
KernelBase.dll!_RaiseException@16() Unknown
> msvcr110d.dll!_CxxThrowException(void * pExceptionObject, const _s__ThrowInfo * pThrowInfo) Line 152 C++
emptyExample_debug.exe!Poco::ProcessImpl::launchImpl(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class Poco::Pipe *,class Poco::Pipe *,class Poco::Pipe *,class std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> Unknown
emptyExample_debug.exe!Poco::Process::launch(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > const &,class Poco::Pipe *,class Poco::Pipe *,class Poco::Pipe *) Unknown
emptyExample_debug.exe!testApp::setup() Line 17 C++
emptyExample_debug.exe!ofBaseApp::setup(ofEventArgs & args) Line 41 C++
emptyExample_debug.exe!Poco::PriorityDelegate<ofBaseApp,ofEventArgs,0>::notify(const void * sender, ofEventArgs & arguments) Line 168 C++
emptyExample_debug.exe!Poco::PriorityStrategy<ofEventArgs,Poco::AbstractPriorityDelegate<ofEventArgs> >::notify(const void * sender, ofEventArgs & arguments) Line 81 C++
emptyExample_debug.exe!Poco::AbstractEvent<ofEventArgs,Poco::PriorityStrategy<ofEventArgs,Poco::AbstractPriorityDelegate<ofEventArgs> >,Poco::AbstractPriorityDelegate<ofEventArgs>,Poco::FastMutex>::notify(const void * pSender, ofEventArgs & args) Line 242 C++
emptyExample_debug.exe!ofNotifyEvent<ofEvent<ofEventArgs>,ofEventArgs>(ofEvent<ofEventArgs> & event, ofEventArgs & args) Line 172 C++
emptyExample_debug.exe!ofNotifySetup() Line 120 C++
emptyExample_debug.exe!ofAppGLFWWindow::runAppViaInfiniteLoop(ofBaseApp * appPtr) Line 285 C++
emptyExample_debug.exe!ofRunApp(ofBaseApp * OFSA) Line 137 C++
emptyExample_debug.exe!main() Line 12 C++
emptyExample_debug.exe!__tmainCRTStartup() Line 536 C
emptyExample_debug.exe!mainCRTStartup() Line 377 C
kernel32.dll!@BaseThreadInitThunk@12() Unknown
ntdll.dll!___RtlUserThreadStart@8() Unknown
ntdll.dll!__RtlUserThreadStart@8() Unknown
输出在这里...
'emptyExample_debug.exe' (Win32): Loaded 'C:\Users\admin\Documents\of_v0.8.0_vs_release\apps\myApps - コピー\emptyExample\bin\emptyExample_debug.exe'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp110d.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr110d.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\lpk.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\usp10.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msimg32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\opengl32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\glu32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ddraw.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dciman32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\devobj.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Users\admin\Documents\of_v0.8.0_vs_release\apps\myApps - コピー\emptyExample\bin\FreeType-6.dll'. Module was built without symbols.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Users\admin\Documents\of_v0.8.0_vs_release\apps\myApps - コピー\emptyExample\bin\Zlib.dll'. Module was built without symbols.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\crtdll.dll'. Module was built without symbols.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Users\admin\Documents\of_v0.8.0_vs_release\apps\myApps - コピー\emptyExample\bin\FreeImage.dll'. Module was built without symbols.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ws2_32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\nsi.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Users\admin\Documents\of_v0.8.0_vs_release\apps\myApps - コピー\emptyExample\bin\fmodex.dll'. Module was built without symbols.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msacm32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\wsock32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\crypt32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msasn1.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\IPHLPAPI.DLL'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winnsi.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\nvinit.dll'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\apphelp.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\IMJP14.IME'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\IMJP14.IME'
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\IMJP14.IME'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4974_none_50940634bcb759cb\msvcr90.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4974_none_50940634bcb759cb\msvcp90.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\IMJP14K.DLL'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ig7icd32.dll'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\ole32.dll'
'emptyExample_debug.exe' (Win32): Loaded 'C:\PROGRA~2\COMMON~1\MICROS~1\IME14\IMEJP\IMJPAPI.DLL'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Program Files (x86)\Common Files\microsoft shared\IME14\SHARED\IMJKAPI.DLL'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Program Files (x86)\Common Files\microsoft shared\IME14\IMEJP\IMJPPRED.DLL'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\ole32.dll'
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\clbcatq.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Program Files (x86)\Common Files\microsoft shared\IME14\IMEJP\IMJPTIP.DLL'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleacc.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\PROGRA~2\COMMON~1\MICROS~1\IME14\SHARED\IMETIP.DLL'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\msctf.dll'
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\msctf.dll'
'emptyExample_debug.exe' (Win32): Loaded 'C:\PROGRA~2\COMMON~1\MICROS~1\IME14\SHARED\IMECFM.DLL'. Cannot find or open the PDB file.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptsp.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rsaenh.dll'. Symbols loaded.
'emptyExample_debug.exe' (Win32): Loaded 'C:\Windows\SysWOW64\RpcRtRemote.dll'. Symbols loaded.
First-chance exception at 0x7591C41F in emptyExample_debug.exe: Microsoft C++ exception: Poco::SystemException at memory location 0x0018F740.
Unhandled exception at at 0x7591C41F in emptyExample_debug.exe: Microsoft C++ exception: Poco::SystemException at memory location 0x0018F740.