summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--vm_dump.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9ac85cb..37f0211 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Nov 26 11:40:11 2010 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * vm_dump.c (dump_thread): get only required rights of the target
+ thread because THREAD_ALL_ACCESS causes an access error on XP.
+ reported by Masaya TARUI via IRC.
+
Fri Nov 26 11:09:07 2010 NAKAMURA Usaku <usa@ruby-lang.org>
* vm_dump.c (dump_thread): show the displacement from the beginning
diff --git a/vm_dump.c b/vm_dump.c
index 60fce89..452e307 100644
--- a/vm_dump.c
+++ b/vm_dump.c
@@ -684,7 +684,7 @@ dump_thread(void *arg)
SymSetOptions(SYMOPT_UNDNAME | SYMOPT_DEFERRED_LOADS | SYMOPT_DEBUG | SYMOPT_LOAD_LINES);
ph = GetCurrentProcess();
pSymInitialize(ph, NULL, TRUE);
- th = pOpenThread(THREAD_ALL_ACCESS, FALSE, tid);
+ th = pOpenThread(THREAD_SUSPEND_RESUME|THREAD_GET_CONTEXT, FALSE, tid);
if (th) {
if (SuspendThread(th) != (DWORD)-1) {
CONTEXT context;