45 #include "../rtt-config.h" 49 #include "../internal/GlobalEngine.hpp" 50 #include "../types/GlobalsRepository.hpp" 51 #include "../types/TypekitRepository.hpp" 53 #ifdef OROPKG_OS_THREAD_SCOPE 54 # include <boost/scoped_ptr.hpp> 55 # include "../extras/dev/DigitalOutInterface.hpp" 57 #elif defined(HAVE_LTTNG_UST) && defined(OROPKG_OS_GNULINUX) 58 #define TRACEPOINT_DEFINE 59 #define TRACEPOINT_PROBE_DYNAMIC_LINKAGE 63 #ifdef OS_HAVE_IOSTREAM 70 #include "../Logger.hpp" 81 #ifdef OS_HAVE_MANUAL_CRT 94 #ifdef OROPKG_OS_THREAD_SCOPE 97 boost::scoped_ptr<DigitalOutInterface> pp;
122 #ifdef OS_HAVE_IOSTREAM 123 cerr <<
endl<<
" Orocos has detected an uncaught C++ exception"<<
endl;
124 cerr <<
" in the ORO_main() function."<<
endl;
125 cerr <<
" You might have called a function which throws"<<
endl;
126 cerr <<
" without a try {} catch {} block."<< endl <<
endl;
127 cerr <<
"To Debug this situation, issue the following command:"<<endl<<
endl;
128 cerr <<
" valgrind -v --num-callers=16 "<< prog <<
" [options...] --nocatch" <<
endl;
129 cerr <<
"Which will show where the exception occured."<<
endl;
130 cerr <<
" ( Change num-callers for more/less detail."<<
endl;
131 cerr <<
" Also, compiling orocos and your program with"<<
endl;
132 cerr <<
" -g adds more usefull information. )"<<endl<<
endl;
134 printf(
"Orocos intercepted an uncaught C++ exception\n");
141 #ifdef OS_HAVE_IOSTREAM 142 cerr <<
endl<<
" Caught std::exception." <<
endl <<
" what(): " << arg.what() <<
endl;
154 for(
int i=1; i < argc; ++i)
168 #ifdef OROPKG_OS_THREAD_SCOPE 197 #ifdef OS_HAVE_MANUAL_CRT static char ** os_argv_arg
static NameServer< DigitalOutInterface * > nameserver
static ThreadInterface * Instance()
void __os_printException(const char *prog, std::exception &arg)
int __os_checkException(int &argc, char **argv)
int __os_init(int argc, char **argv)
bool start()
Call all registered start functions.
static StartStopManager * Instance()
virtual void switchOn(unsigned int n)=0
char ** __os_main_argv(void)
OS Abstractions such as Mutexes, Semaphores and Threads.
const char * oro_catchflag2
void __os_printFailure(const char *prog)
static std::ostream & endl(std::ostream &__os)
basic_ostreams & endl(basic_ostreams &s)
ValueType getObject(const NameType &s) const
Get the object registered for a name.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
void stop()
Call all registered stop functions.
static RTT_API void Release()
const char * oro_catchflag