Repository navigation
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WIP: Add initial support for "live" debugging #34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
Uh oh!
There was an error while loading. Please reload this page.
WIP: Add initial support for "live" debugging #34
Changes from 1 commit
f29e1de86422cb68f66304fb4c3a7fe8aa7b8de0abe75bc2381cb971736fdf7df9287087aec81ff7ef81a132e76bbe3d6f527e044afdd5b296be843fa71477c6ec4bc7502b3436a58b8118bbfe7b38ed4a515eeff6feb54fe1c40e18707a4823e50558b7c35417542940352e29a86bc695b3d0d917c3a9a18e2b7e0fa23e5dee123cc56e255f69e547d72016b4facc0b2817c9b7085bec27620bfcb22c430dd42b65a7e06abfd2dc62bb502e7ff8dd6da88b129ea504f2142e508749dd004ad94cfac8fb39131e1bfd2628c5691bf4e60c1c7e077de575d1ef15220125483d9f538acd1e7789d41d22d73af12734550c337d04844bcb870bb0f70ab1d6bc98b283447014529d1File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
This adds a new "kcore" GDB target which uses "drgn" as the backend for reading from "/proc/kcore"; very similar to the existing "kdump" target which uses "kdumpfile" for reading from a crash dump. The benefit of using this new "kcore" target as opposed to GDB's existing "core" target is twofold: 1. The caching done by the "core" target is not what we want when inspecting a live, running kernel. By moving to a new python based target, we avoid all of this; each read of memory from GDB will call into our target, so we have much more control. 2. The "core" target is unable to properly fetch registers when it's used with "/proc/kcore". By using a python target, we can override the "fetch_registers" function, and do the right thing for fetching registers of kernel threads. Additionally, the code to do this is the same for "/proc/kcore" and a kernel crash dump, so the same code can be used for both the new "kcore" and existing "kdump" targets. Unfortunately though, this new "kcore" target does not solve the issue of thread information being read and cached during startup, meaning we still do not have "live" thread information when using this new target. See also: https://github.com/osandov/drgn Co-authored-by: Prakash Surya <prakash.surya@delphix.com>Uh oh!
There was an error while loading. Please reload this page.
There are no files selected for viewing