Solved

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

Posted on 2004-09-13
6
308 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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Unlike C#, C++ doesn't have native support for sealing classes (so they cannot be sub-classed). At the cost of a virtual base class pointer it is possible to implement a pseudo sealing mechanism The trick is to virtually inherit from a base class…
  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

856 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