libclues
Linux C++ Tracing Library
Loading...
Searching...
No Matches
ChildTracee.hxx
1#pragma once
2
3// clues
4#include <clues/Tracee.hxx>
5
6// cosmos
7#include <cosmos/proc/SubProc.hxx>
8
9namespace clues {
10
12class CLUES_API ChildTracee :
13 public Tracee {
14public: // functions
15
17 ChildTracee(Engine &engine, EventConsumer &consumer);
18
19 ~ChildTracee() override;
20
22
26 void create(const cosmos::StringVector &args);
27
28protected: // Base class interface
29
30 bool isChildProcess() const override {
31 return true;
32 }
33
34 void cleanupChild() override;
35
36protected: // data
37
39 cosmos::SubProc m_child;
40};
41
42} // end ns
ChildTracee(Engine &engine, EventConsumer &consumer)
Create a traced process by creating a new process from prog_args
cosmos::SubProc m_child
the sub-process we're tracing
void create(const cosmos::StringVector &args)
Create the child process with the given parameters.
bool isChildProcess() const override
Returns whether the tracee is a child process created by us.
Callback interface for consumers of tracing events.
Tracee(Engine &engine, EventConsumer &consumer, TraceePtr sibling=nullptr)
Definition Tracee.cxx:100