Search

<LinkedListItem> debug visualizer does not stop when encountering HeadPointer by stheophil

Closed
as Fixed Help for as Fixed

1
0
Sign in
to vote
Type: Bug
ID: 776797
Opened: 1/17/2013 8:11:06 AM
Access Restriction: Public
0
Workaround(s)
0
User(s) can reproduce this bug
Linked lists without a size member like boost::intrusive::list cannot be visualized properly. The obvious debug visualizer is


<Type Name="boost::intrusive::list<*,boost::intrusive::constant_time_size<0>,*,*>">
<Expand>
    <LinkedListItems>
     <HeadPointer>data_.root_plus_size_.root_.next_</HeadPointer>
     <NextPointer>next_</NextPointer>
     <ValueNode>($T1*)this</ValueNode>
    </LinkedListItems>
</Expand>
</Type>

But this shows an "infinite" number of list elements instead of stopping automatically when NextPointer == HeadPointer like the old implementation did, I believe.
Details (expand)

Visual Studio/Team Foundation Server/.NET Framework Tooling Version

Visual Studio 2012

Steps to reproduce

Create a boost::intrusive::list with constant_time_size<0> and single element and use above visualizer.

Product Language

English

Operating System

Windows 8

Operating System Language

English

Actual results

The debug visualizer window showing one element like

- [0] { added element }

Expected results

Instead it shows the maximum permitted number of elements

- [0] { added element }
- [1] { invalid element which is actually the root node }
- [2] { added element }
- [3] { invalid element which is actually the root node }
- [4] { added element }
- [5] { invalid element which is actually the root node }
...
...
File Attachments
File Name Submitted By Submitted On File Size  
DebugVisualizer.zip 1/22/2013 35 KB
Sign in to post a comment.
Posted by Microsoft on 2/8/2013 at 3:38 PM
Thank you for your feedback. We are considering making a future release of Visual Studio stop iterating the linked list elements when <NextPointer> equals the <HeadPointer>, as requested. In the meantime, you can work around the issue by modifying your data structure so that the "next" node of last element points to NULL, rather than back to the first element.
Posted by Microsoft on 1/23/2013 at 1:00 AM
Thanks for your update. We are rerouting this issue to the appropriate group within the Visual Studio Product Team for triage and resolution. These specialized experts will follow-up with your issue.
Posted by stheophil on 1/22/2013 at 1:25 AM
I've uploaded a project with which I can reproduce the issue. I've used a boost::intrusive::list and I've added the debug visualizer as a comment.
Posted by Microsoft on 1/22/2013 at 12:00 AM
Hello,

Sorry for bothering. Is there any update?

It would be greatly appreciated if you could provide us with that information as quickly as possible.

Thank you!
Posted by Microsoft on 1/18/2013 at 12:08 AM
Thank you for submitting feedback on Visual Studio and .NET Framework. In order to efficiently investigate and reproduce this issue, we are requesting additional information outlined below.

Could you please give us a demo project to demonstrate this issue so that we can conduct further research?

Please submit this information to us within 4 business days. We look forward to hearing from you with this information.

Microsoft Visual Studio Connect Support Team
Posted by Microsoft on 1/17/2013 at 8:50 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(http://support.microsoft.com)
Sign in to post a workaround.