IT Community - Software Programming, Web Development and Technical Support

How to debug multithreaded application on WinCE 5.0 with VS 2005 ?

This is a discussion on How to debug multithreaded application on WinCE 5.0 with VS 2005 ? within the Mobile Software Development forums, part of the Software Development category; Hi, I have a multithreaded C++ application. When I break into one of the threads, I want to see the ...


Go Back   IT Community - Software Programming, Web Development and Technical Support > Software Development > Mobile Software Development

Register FAQ Members List Calendar Mark Forums Read
  #1 (permalink)  
Old 07-25-2007, 01:19 AM
theone theone is offline
D-Web Sr.Programmer
 
Join Date: Jun 2007
Posts: 129
theone is on a distinguished road
Question How to debug multithreaded application on WinCE 5.0 with VS 2005 ?

Hi, I have a multithreaded C++ application. When I break into one of the threads, I want to see the call stack of that thread and all the other threads. This works fine, except when the thread is blocked in the WinCE kernel. For these threads, I don't get a call stack, just a single address within the kernel. At the MEDC I got the suggestion to try to load the symbols for coredll.dll, but that didn't help. How should I go about getting the results I need?
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 07-25-2007, 01:21 AM
kingmaker kingmaker is offline
D-Web Genius
 
Join Date: Jun 2007
Posts: 882
kingmaker is on a distinguished road
Send a message via Yahoo to kingmaker
Default Re: How to debug multithreaded application on WinCE 5.0 with VS 2005 ?

If you had replaced the above code with some thing like below you would see the call stack.
/*WaitForSingleObject(hThread1, INFINITE);
WaitForSingleObject(hThread2, INFINITE);*/
while (true)
{
int i = 0;
i = i + 1;
}
> custmulithread.exe!TestWithTreads(void) Line: 53, Byte Offsets: 0xc4 C++
custmulithread.exe!wmain(int argc = 1, wchar_t** argv = 0x00120060, wchar_t** envp = 0x00000001) Line: 65, Byte Offsets: 0x14 C++
custmulithread.exe!mainWCRTStartup(HINSTANCE__* hInstance = CXX0065: Error: unable to obtain expression value, HINSTANCE__* hInstancePrev = 0xad9d0f26, unsigned short* lpszCmdLine = 0x00000000, int nCmdShow = 16) Line: 202, Byte Offsets: 0xb4 C++
With your code I presume you are seeing this.
> 0x80050e08
This would happen for other system calls like Sleep.
This is a limitation of our debugger today that we cannot unwind the calls across PSL/system calls. I am not aware of any workaround but let me think about it and let you know if I can find one.
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do you debug a LoadRunner script? sundarraja Testing Tools 1 01-22-2008 03:35 AM
How to write Multithreaded applications using C++? Sabari C and C++ Programming 1 07-31-2007 01:30 AM
How to Debug Smartphone Home Plugin Initialization? theone Mobile Software Development 2 07-27-2007 05:48 AM
I Cannot access SQL 2005 integrated services after installing SQL-2005..? theone Database Support 1 07-27-2007 01:12 AM
Explain the purpose of Disable the Debug Mode or Set Debug ="false" oxygen ASP and ASP.NET Programming 1 07-20-2007 06:22 AM


All times are GMT -7. The time now is 10:20 PM.


Copyright ©2004 - 2007, DiscussWeb. All Rights Reserved.

SEO by vBSEO 3.0.0