By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,963 Members | 920 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,963 IT Pros & Developers. It's quick & easy.

Bug: wrong values in debug windows (locals, watch,...)

P: n/a
Hello,

to reproduce the follwoing steps, "managed DirectX" must be installed.
Despite, this is not a DirectX but an IDE problem (at least in VB.Net). As
nobody answered in m.p.vsnet.ide and m.p.vsnet.debugging, I try it here.

1. Create a new WindowsApplication
2. Add references to
- Microsoft.DirectX.dll
- Microsoft.DirectX.Direct3D.dll
3. In the form's code window add

Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D

and

Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load

Dim pp As New PresentParameters
Dim mat1, mat2, mat3 As Matrix
mat1 = Matrix.Identity
mat2 = Matrix.Identity
mat3 = Matrix.Identity

mat1 = Matrix.Multiply(mat2, mat3)

End Sub

(note: Whether or not the code makes sense does not matter. It's the IDE's
behavior I'm describing)

4. set a break point at the line "mat1 = Matrix.Identity"
5. Start and wait til the break point is hit
6. open the locals window and open variable pp

Bug: All members are displayed as "error: can not obtain value"
Now, try also: In the immediate window, execute
Msgbox("test")
You'll get a message that the "expression can not be evaluated". This
message does not makes sense.

Now stop the application and remove the last line (containing
Matrix.Multiply). Restart and examine variable pp again: The problem does
not show up anymore. Now you can also try the Msgbox and it works how it
should.

This is a major issue that makes it almost impossible to debug managed
DirectX applications because it's the same in the watch and quick-watch
windows.
--
Armin

Jul 19 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.