Solved

What is Param#1, Param#2 in Dr.Watson Log

Posted on 2004-09-13
6
298 Views
Last Modified: 2012-06-27
Hi,
I have few questions about the Stack Back Trace section of Dr.Watson Log. here is the sample of the Dr.Watson log I am trying to analyse.

*----> Stack Back Trace <----*
FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name
0728fcc4 77664a12 00000084 000006a4 00000001 00000004 ntdll!NtWaitForSingleObject
0728fdec 776b9f5f 000006a5 0728fe64 00000000 00000000 msafd!<nosymbols>
0728fe3c 75615392 000006a5 0728fe64 00000000 00000000 ws2_32!select
0728ff84 7800248d 7561a218 506e6570 656b6361 004b0310 wsnmp32!SnmpSetPort
0728ffb8 77f04ede 004b0310 506e6570 656b6361 004b0310 !beginthreadex
0728ffec 00000000 00000000 00000000 00000000 00000000 kernel32!lstrcmpiW
00000000 00000000 00000000 00000000 00000000 00000000 ObjectManager!<nosymbols>


My Questions are:
1). Does the values indicated in the Param#1, Param#2, etc are actual values or the Address of the memory location where my variables are stored?

2). If these are address to the variable, how I can find out the actual value I have passed?

3). Even though my method takes only two params, why the other to params are also filled with some value? What are those values? For ex. SnmpSetPort takes only to params, it has values 7561a218, 506e6570, 656b6361, 004b0310 for Param#1, 2, 3 &4 respectively.

0
Comment
Question by:Thangs
  • 2
6 Comments
 
LVL 86

Expert Comment

by:jkr
ID: 12048350
You cannot tell that without knowing whether your code is passing values or pointers - thus you need the symbol files. I suggest reading http://msdn.microsoft.com/msdnmag/issues/02/06/Bugslayer/default.aspx for a guide to crash dump analysis using DrWatson logs.
0
 
LVL 2

Author Comment

by:Thangs
ID: 12066651
jkr,
I am passing only the values. I have noticed that when I pass value say "5", still it is giving me a big 32 number. What am I missing here?
0
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 12067984
It could well be that the compiler passes the values in a CPU register - what you are seeing in the log is the stack, though.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Errors will happen. It is a fact of life for the programmer. How and when errors are detected have a great impact on quality and cost of a product. It is better to detect errors at compile time, when possible and practical. Errors that make their wa…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now