Skip to content
This repository has been archived by the owner on Dec 17, 2017. It is now read-only.

Kdgdb Changes #12

Open
wants to merge 64 commits into
base: master
Choose a base branch
from
Open

Kdgdb Changes #12

wants to merge 64 commits into from

Conversation

ariscop
Copy link

@ariscop ariscop commented Apr 20, 2016

No description provided.

@ariscop ariscop mentioned this pull request Apr 20, 2016
@gigaherz
Copy link
Member

There's no need to close PRs, you can just force-push to the same branch, github is ok with that.

DPRINT1("Unsupported yet language attribute (%.*S)\n",
attr_value.len, attr_value.ptr);
DPRINT("Unsupported yet language attribute (%.*S)\n",
attr_value.len, attr_value.ptr);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a diff from upstream?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, i'm using the repo at git.reactos.org rather than github since it lags behind

@ariscop
Copy link
Author

ariscop commented Apr 23, 2016

@gigaherz Wanted to change the branch name, minor but it bothered me

@ariscop
Copy link
Author

ariscop commented Apr 23, 2016

I think the issue mentioned in 37445e0 is that it loads bss sections at the preferred base rather than relative to the text section, that will happen with pretty much everything in kernel space though, not just ntoskrnl

I'm hoping to pass section addresses out instead of base addresses to solve this

@ariscop ariscop force-pushed the kdgdb branch 4 times, most recently from dfeb17b to d55936b Compare April 26, 2016 13:51
@ariscop
Copy link
Author

ariscop commented Apr 28, 2016

I'm thinking there should be a mode where cores are represented as threads, Neither gdb or kdapi is prepared to handle debugging individual processes within a kernel

@ariscop
Copy link
Author

ariscop commented Apr 29, 2016

I'm starting to think it isn't worth using kdapi, unless one really wants a gdb stub for windows
Adding some way to set KiDebugRoutine from kdgdb may prove simpler

Making function calls by Returning is terribly awkward

gadamopoulos and others added 19 commits May 3, 2016 17:10
- Remove a debug message that should have been removed before committing.
- Also fix a test failure.


git-svn-id: file:///srv/svn/reactos/trunk@71244 97493ccd-5924-5043-b1f5-66cb403b36ce
The onliner:
- Move to next entry by applying the offset to the previous entry, and not to the first entry

This fixes enumerating ADS from files with 3+ streams. Previously, doing dir /R in a directory would have lead to a cmd crash.

CORE-11164 #resolve #comment Fixed by r71245


git-svn-id: file:///srv/svn/reactos/trunk@71245 97493ccd-5924-5043-b1f5-66cb403b36ce
…t tests), by Sebastian Lackner & Me CORE-10923

git-svn-id: file:///srv/svn/reactos/trunk@71248 97493ccd-5924-5043-b1f5-66cb403b36ce
- Update to 0.46d7.

CORE-11157

git-svn-id: file:///srv/svn/reactos/trunk@71252 97493ccd-5924-5043-b1f5-66cb403b36ce
git-svn-id: file:///srv/svn/reactos/trunk@71255 97493ccd-5924-5043-b1f5-66cb403b36ce
CORE-11161

git-svn-id: file:///srv/svn/reactos/trunk@71259 97493ccd-5924-5043-b1f5-66cb403b36ce
Mark the CORE-11057 fix as local change.

CORE-11172


git-svn-id: file:///srv/svn/reactos/trunk@71260 97493ccd-5924-5043-b1f5-66cb403b36ce
…n opening an empty file. CORE-11166

git-svn-id: file:///srv/svn/reactos/trunk@71261 97493ccd-5924-5043-b1f5-66cb403b36ce
git-svn-id: file:///srv/svn/reactos/trunk@71262 97493ccd-5924-5043-b1f5-66cb403b36ce
…s when validating file times.

Also silence some debug outputs in the normal usage flow.

git-svn-id: file:///srv/svn/reactos/trunk@71263 97493ccd-5924-5043-b1f5-66cb403b36ce
Implement FsRtlValidateReparsePointBuffer().

CORE-11172


git-svn-id: file:///srv/svn/reactos/trunk@71264 97493ccd-5924-5043-b1f5-66cb403b36ce
Upgrade the WinBtrfs to release 0.4.

CORE-11172 #resolve #Committed in r71265


git-svn-id: file:///srv/svn/reactos/trunk@71265 97493ccd-5924-5043-b1f5-66cb403b36ce
Romanian resources maintenance.
Patch by Ștefan Fulea.
CORE-11111 #resolve #comment Thanks a lot!

git-svn-id: file:///srv/svn/reactos/trunk@71266 97493ccd-5924-5043-b1f5-66cb403b36ce
Updating Turkish Translation.
Patch by Erdem Ersoy.
CORE-11130 #resolve #comment Thanks a lot!

git-svn-id: file:///srv/svn/reactos/trunk@71267 97493ccd-5924-5043-b1f5-66cb403b36ce
Fix serious path localization issue.
Patch by Wim Hueskes.
CORE-9656 #resolve #comment Thanks a lot!

git-svn-id: file:///srv/svn/reactos/trunk@71268 97493ccd-5924-5043-b1f5-66cb403b36ce
Add the romanian resource to the repository.
CORE-11111 #resolve
Fix build.


git-svn-id: file:///srv/svn/reactos/trunk@71269 97493ccd-5924-5043-b1f5-66cb403b36ce
In case we're performing an in-place move (ie, in the same directory), if short name matches before and after, keep it.

This avoids that a file with long file name sees its short name changing on normally 'non-effect' renames.
For instance, in case of case-change only rename, short name will now be preserved.

See ya, you 7y old bug :-)

CORE-3875 #resolve #comment Fixed with r71270


git-svn-id: file:///srv/svn/reactos/trunk@71270 97493ccd-5924-5043-b1f5-66cb403b36ce
… Calvo. CID 1341307 CORE-11177 #resolve

#comment Thanks!

git-svn-id: file:///srv/svn/reactos/trunk@71271 97493ccd-5924-5043-b1f5-66cb403b36ce
…tínez Calvo. CID 1322300 CORE-11181 #resolve

#comment Thanks!

git-svn-id: file:///srv/svn/reactos/trunk@71272 97493ccd-5924-5043-b1f5-66cb403b36ce
ariscop added 25 commits May 8, 2016 18:32
Ease adding the remaining vCont types
these are the same as other queries
missed this somehow >_<
Can now disconnect/reconnect gdb without issue
Windows has this funny property where the lower two bits of
handles are ignored, so we can safely use pid/tid 1 to represent
the idle process, rather than shifting every pid
To make continue work agaun run:
set schedule-multiple on
set scheduler-locking off
Can now load all kernel symbols just by running load-symbols
This is less useful for kdgdb and more for when you're
attached to qemu, or some hardware debug interface
This reduces the amount of boilerplate, and ensures
that the current thread is always valid

Moving init until phase 1 because before then a large
number of kernel structures are unitialized, such
as the process list. By phase 1 everythings sane
Use with info w32 tib
Note that this crashes gdb 7.11, bug reported upstream
Not yet quite working as gdb issues a single-step after
a breakpoint, which isn't implemented yet
Correct "E" replies to "E\x\x", and handle ack/nak responses
correctly
this code was triggering a bugcheck and it was easier to rewrite
than fix, plus it removes the buffer (gdb accepts infinite length
packets) and generally is nicer

The special handling for the idle thread is gone too, it's not
clear why it was done but pid/tid 0 seems to just be an alias
for 4.8
This changes whether processes are represented as individual
inferiors, tuning this off treats the kernel as a single
inferior with many threads. Useful to avoid bugs in current
gdb

Command line option to be added later
Currently it appears impossible to relocate the current
executable in gdb
https://sourceware.org/bugzilla/show_bug.cgi?id=20007

Also disable multiprocess mode by default, since it breaks
upstream gdb
@ariscop
Copy link
Author

ariscop commented May 9, 2016

I have single step 'working' but it so readily crashes both reactos and gdb

@ariscop
Copy link
Author

ariscop commented Jun 6, 2016

Stopped working on this, gdb just can't handle it and kdapi really isn't built for this kinda use

Adding kd support to gdb would be a more productive and workable goal

@AmineKhaldi
Copy link
Member

Can this be adapted to the recent work that has been done on kdgdb?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants