mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This was briefly failing to build because of an ambiguous initializer while making other changes, it's better to be explicit with method names anyway. rdar://127548384
swift-inspect
swift-inspect is a debugging tool which allows you to inspect a live Swift process to gain insight into the runtime interactions of the application.
swift-inspect uses the reflection APIs to introspect the live process. It relies on the swift remote mirror library to remotely reconstruct data types.
Building
swift-inspect can be built using swift-package-manager.
Windows
In order to build on Windows, some additional parameters must be passed to the build tool to locate the necessary libraries.
swift build -Xcc -I%SDKROOT%\usr\include\swift\SwiftRemoteMirror -Xlinker %SDKROOT%\usr\lib\swift\windows\x86_64\swiftRemoteMirror.lib
Using
The following inspection operations are available currently.
All Platforms
- dump-arrays <name-or-pid>
- Print information about array objects in the target
- dump-cache-nodes <name-or-pid>
- Print the metadata cache nodes.
- dump-conformance-cache <name-or-pid>
- Print the content of the protocol conformance cache.
- dump-generic-metadata <name-or-pid> [--backtrace] [--backtrace-long]
- Print generic metadata allocations.
- dump-raw-metadata <name-or-pid> [--backtrace] [--backtrace-long]
- Print metadata allocations.
Darwin Only
- dump-concurrency <name-or-pid>
- Print information about tasks, actors, and threads under Concurrency.