[package]
edition = "2024"
rust-version = "1.88"
name = "tracexec"
version = "0.16.1"
authors = ["Levi Zim <rsworktech@outlook.com>"]
build = false
exclude = [
"/casts",
"/screenshots",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "tracexec"
description = "Tracer for execve{,at} and pre-exec behavior, launcher for debuggers."
homepage = "https://github.com/kxxt/tracexec"
readme = "README.md"
keywords = [
"trace",
"ptrace",
"exec",
"execve",
"utility",
]
categories = [
"command-line-utilities",
"development-tools::debugging",
]
license = "GPL-2.0-or-later"
repository = "https://github.com/kxxt/tracexec"
resolver = "2"
[features]
default = [
"recommended",
"vendored-libbpf",
]
ebpf = ["dep:tracexec-backend-ebpf"]
ebpf-debug = [
"ebpf",
"tracexec-backend-ebpf/ebpf-debug",
]
ebpf-no-rcu-kfuncs = [
"ebpf",
"tracexec-backend-ebpf/ebpf-no-rcu-kfuncs",
]
protobuf-binding-from-source = ["tracexec-exporter-perfetto/protobuf-binding-from-source"]
recommended = ["ebpf"]
static = ["tracexec-backend-ebpf?/static"]
vendored = ["tracexec-backend-ebpf?/vendored"]
vendored-libbpf = ["tracexec-backend-ebpf?/vendored-libbpf"]
[[bin]]
name = "corrupted-envp"
path = "fixtures/corrupted-envp.rs"
[[bin]]
name = "empty-argv"
path = "fixtures/empty-argv.rs"
[[bin]]
name = "exec-file"
path = "fixtures/exec-file.rs"
[[bin]]
name = "exec-stress"
path = "fixtures/exec-stress.rs"
[[bin]]
name = "tracexec"
path = "src/main.rs"
[[test]]
name = "smoke"
path = "tests/smoke.rs"
[dependencies.atoi]
version = "2.0.0"
[dependencies.better-panic]
version = "0.3.0"
[dependencies.clap]
version = "4.4.6"
features = ["derive"]
[dependencies.color-eyre]
version = "0.6.2"
[dependencies.enumflags2]
version = "0.7.9"
[dependencies.filedescriptor]
version = "0.8.2"
[dependencies.futures]
version = "0.3.30"
[dependencies.hashbrown]
version = "0.16"
[dependencies.itertools]
version = "0.14.0"
[dependencies.nix]
version = "0.30"
features = [
"ptrace",
"process",
"feature",
"term",
"fs",
"signal",
"user",
]
[dependencies.owo-colors]
version = "4.0.0"
features = ["global-colorized-control"]
package = "kxxt-owo-colors"
[dependencies.rand]
version = "0.9"
[dependencies.serde]
version = "1.0.204"
features = [
"derive",
"rc",
]
[dependencies.signal-hook]
version = "0.4"
default-features = false
[dependencies.signal-hook-tokio]
version = "0.3.1"
features = ["futures-v0_3"]
[dependencies.strum]
version = "0.27.1"
features = ["derive"]
[dependencies.tokio]
version = "1.37.0"
features = ["full"]
[dependencies.tracexec-backend-ebpf]
version = "=0.16.1"
optional = true
default-features = false
[dependencies.tracexec-backend-ptrace]
version = "=0.16.1"
[dependencies.tracexec-core]
version = "=0.16.1"
[dependencies.tracexec-exporter-json]
version = "=0.16.1"
[dependencies.tracexec-exporter-perfetto]
version = "=0.16.1"
[dependencies.tracexec-tui]
version = "=0.16.1"
[dependencies.tracing]
version = "0.1.40"
features = ["release_max_level_info"]
[dependencies.tracing-error]
version = "0.2.0"
[dependencies.tracing-subscriber]
version = "0.3.20"
features = ["env-filter"]
[dev-dependencies.assert_cmd]
version = "2.0.14"
[dev-dependencies.predicates]
version = "3.1.0"
[dev-dependencies.serial_test]
version = "3.1.1"
features = ["file_locks"]
[profile.dev]
opt-level = 1
[profile.profiling]
debug = 2
inherits = "release"
[profile.release]
lto = true