Runing programs can spit core if they crashed. It will be picked up

by gdb and debug it with nice dialog.
Processes are now kept in list so pid/cmd can be easily tracked.
Rest...
This commit is contained in:
Sanel Zukan
2007-08-06 12:39:15 +00:00
parent 817e0cd918
commit a80b5dcb2a
11 changed files with 1066 additions and 13 deletions

View File

@@ -13,6 +13,8 @@
#ifndef __SPAWN_H__
#define __SPAWN_H__
#include <unistd.h> // pid_t
/*
* This is little bit modified code from edelib run_program()
* so evoke specific stuff can be added. Also, possible option
@@ -27,7 +29,14 @@
#define SPAWN_EXECVE_FAILED 65530 // internal execve failed
#define SPAWN_PTY_FAILED 65529 // TODO
#define SPAWN_USER_CANCELED 65528 // TODO
#define SPAWN_CRASHED 65527 // executable crashed
#define SPAWN_KILLED 65526 // executable crashed
#define SPAWN_NOEXITED 65525
int spawn_program(const char* cmd);
typedef void (SignalWatch)(int pid, int status);
int spawn_program(const char* cmd, SignalWatch* wf = 0, pid_t* child_pid_ret = 0);
int spawn_program_with_core(const char* cmd, SignalWatch* wf = 0, pid_t* child_pid_ret = 0);
int spawn_backtrace(const char* program, const char* core_path, const char* output, const char* script);
#endif