привет.
речь идет о systrace. исходники лежат тут.
проблема в следующем: если трейсить программу собранную из этого( int main() {*((int)0)=33;return 44;} ) микрохеловорда, то код завершения получим неправильный - 0. если в этом хеловорде закомментить сегфолтную строку - код завершения правильный - 44.
прочитал про управление процессами в линукс, и даже понял что чего. попробовал закодить несколько экзекьюторов, и с их помощью запускать злосчастный хеловорд - все работает как надо.
последний вопрос в том, как доделать systrace?
дочерний процесс запускается отсюда, в зависимости от условия. сама функция запускающая процесс - тут.
я вот только немогу понять, куда я должен вписать wait()/waitpid() и код, который определит каким образом завершился процесс, и вернет его статус?
благодарен.
зы готов рассмотреть возможность вознаграждения.