Object Introspection (OI) enables on-demand, hierarchical profiling of objects in arbitrary C/C++ programs with no recompilation.
Go to file
Alastair Robertson 2d28b20d46 TypeGraph: Fix multi dimensional arrays
Multi dimensional arrays are not flattened into 1-D arrays when using
TypeGraph. Update TreeBuilder to account for this.

By not flattening arrays, we are able to produce more descriptive
results.

The disadvantage is that we must now recurse inside arrays
containing only primitives. A better solution to requiring flattening
would be the planned work to not recurse into any static types (not just
primitives). This would also apply to multi-dimensional arrays of
primtivies.
2023-05-31 16:53:38 +01:00
.circleci CodeCov: Collect coverage from all source files 2023-05-24 16:52:16 +01:00
.github Add website deployment script 2022-12-20 08:40:51 -08:00
cmake Enable compiler warnings globally 2023-05-23 10:36:42 +01:00
examples clang-format: set BinPackParameters=false 2023-04-24 11:28:22 +02:00
extern Update drgn 2023-05-30 13:27:23 +01:00
include clang-format: set BinPackParameters=false 2023-04-24 11:28:22 +02:00
oi TypeGraph: Fix multi dimensional arrays 2023-05-31 16:53:38 +01:00
resources resources: manage headers properly 2023-05-18 16:04:13 +02:00
test TypeGraph: Fix multi dimensional arrays 2023-05-31 16:53:38 +01:00
tools Add missing headers to oitb 2023-05-23 10:36:42 +01:00
types TypeGraph: Replace allocators with DummyAllocator 2023-05-31 15:49:37 +01:00
website Build with tests by default 2023-04-05 15:53:15 +01:00
.clang-format clang-format: set BinPackParameters=false 2023-04-24 11:28:22 +02:00
.clang-tidy Initial commit 2022-12-19 06:37:51 -08:00
.editorconfig Initial commit 2022-12-19 06:37:51 -08:00
.git-blame-ignore-revs Initial commit 2022-12-19 06:37:51 -08:00
.gitignore Delete old files from test/ 2023-01-27 12:45:35 +00:00
.gitmodules Update drgn 2023-05-30 13:27:23 +01:00
CHANGELOG.md Initial commit 2022-12-19 06:37:51 -08:00
CMakeLists.txt Disable PCH 2023-05-23 10:36:42 +01:00
CODE_OF_CONDUCT.md Initial commit 2022-12-19 06:37:51 -08:00
CONTRIBUTING.md Initial commit 2022-12-19 06:37:51 -08:00
dev.oid.toml TypeGraph: Fix std::string container 2023-05-30 17:17:29 +01:00
LICENSE Initial commit 2022-12-19 06:37:51 -08:00
oss.oid.toml Initial commit 2022-12-19 06:37:51 -08:00
README.md Display the logo (#116) 2023-03-31 10:48:18 +01:00

object-introspection

Matrix Chat

OI Logo

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.