mirror of
https://github.com/JakeHillion/object-introspection.git
synced 2024-11-12 21:56:54 +00:00
Object Introspection (OI) enables on-demand, hierarchical profiling of objects in arbitrary C/C++ programs with no recompilation.
37b89d789d
Currently we rely on `SymbolService::getTypeName` for getting the hash that's included in the generated function's name. The value of this must stay the same to match with the value expected by OIDebugger - changing it causes failure to relocate when attaching with OID and JIT OIL. Calculate this name in the `codegenFromDrgn` method and pass it through where appropriate rather than passing the `drgn_type` itself through. We don't need to name the type like that when using AoT OIL. Let's hash the linkage name instead as that is more unique. Test Plan: - CI |
||
---|---|---|
.circleci | ||
.github | ||
cmake | ||
examples | ||
extern | ||
include/oi | ||
oi | ||
resources | ||
test | ||
tools | ||
types | ||
website | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
dev.oid.toml | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
oss.oid.toml | ||
README.md |
object-introspection
Object Introspection is a memory profiling technology for C++ objects. It provides the ability to dynamically instrument applications to capture the precise memory occupancy of entire object hierarchies including all containers and dynamic allocations. All this with no code modification or recompilation!
For more information on the technology and how to get started applying it to your applications please check out the Object Introspection website.
Join the Object Introspection community
See the CONTRIBUTING file for how to help out.
License
Object Introspection is licensed under the Apache 2.0 License.