[Bug 7560] ollydbg fails to debug multithreaded apps
http://bugs.winehq.org/show_bug.cgi?id=7560 ------- Additional Comments From focht(a)gmx.net 2007-16-03 05:30 ------- Hello, you can reproduce this with single threaded apps too - just show the "threads" window. Looking at the fixme you might be out of luck. --- snip --- dlls/ntdll/thread.c:NtQueryInformationThread( ThreadTimes) ... /* We call times(2) for kernel time or user time */ /* We can only (portably) do this for the current thread */ if (handle == GetCurrentThread()) { struct tms time_buf; long clocks_per_sec = sysconf(_SC_CLK_TCK); times(&time_buf); kusrt.KernelTime.QuadPart = (ULONGLONG)time_buf.tms_stime * 10000000 / clocks_per_sec; kusrt.UserTime.QuadPart = (ULONGLONG)time_buf.tms_utime * 10000000 / clocks_per_sec; } else { kusrt.KernelTime.QuadPart = 0; kusrt.UserTime.QuadPart = 0; FIXME("Cannot get kerneltime or usertime of other threads\n"); } --- snip --- times(2) and getrusage(2) wont do any good here for child threads. One might read out /proc table info for individual threads but that query is very costly and the info returned is not accurate at all. There is some lengthy discussion regarding kernel/user time of thread on the windows side too: http://blog.kalmbachnet.de/?postid=28 http://groups.google.de/group/microsoft.public.win32.programmer.kernel/brows... In short: forget these values. Ollydbg queries the info by calling GetThreadTimes() (which in turn calls NtQueryInformationThread( ThreadTimes)). If the flooding bothers you, replace the FIXME() with WARN() or remove it completely. I assume there wont be a fix soon. Regards -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.
participants (1)
-
Wine Bugs