About Flibble

157 views
Skip to first unread message

Mr Flibble

unread,
Jan 1, 2023, 8:22:26 PMJan 1
to
I am a Generation X white male aphantasiac with self-diagnosed Asperger's.
Bite me.

Message ends.

/Flibble

Alf P. Steinbach

unread,
Jan 2, 2023, 12:39:41 PMJan 2
to
On 2 Jan 2023 02:22, Mr Flibble wrote:
> I am a Generation X white male aphantasiac with self-diagnosed Asperger's.

TIL: (Wikipedia) "Aphantasia is the inability to visualize. Otherwise
known as image-free thinking. People with aphantasia don't create any
pictures of familiar objects, people, or places in their mind's eye. Not
for thoughts, memories, or images of the future. We lack this
quasi-perceptual “picture-it” system completely."

Oh. Developing a graphical user interface framework with focus on visual
effects and color support while lacking the ability to visualize. That's
impressive! :-o

- Alf

Mr Flibble

unread,
Jan 2, 2023, 1:08:44 PMJan 2
to
I have to think in terms of abstractions instead; luckily being a
programmer mathematics helps out as it is used to abstract many real world
concepts.

/Flibble

Chris M. Thomasson

unread,
Jan 3, 2023, 12:42:13 AMJan 3
to
On 1/1/2023 5:22 PM, Mr Flibble wrote:
> I am a Generation X white male aphantasiac with self-diagnosed Asperger's.
> Bite me.

[...]

Why does it sure seem as if a lot of people with engineers diease are
very smart?

Chris M. Thomasson

unread,
Jan 3, 2023, 12:43:24 AMJan 3
to
Heck, look up Temple Grandin! A very smart person, indeed!

Chris M. Thomasson

unread,
Jan 3, 2023, 12:44:59 AMJan 3
to

Chris M. Thomasson

unread,
Jan 4, 2023, 4:00:02 AMJan 4
to
On 1/1/2023 5:22 PM, Mr Flibble wrote:
[...]

I got a little taste of the msvc debugger today...

Chris M. Thomasson

unread,
Jan 12, 2023, 2:13:32 AMJan 12
to
On 1/1/2023 5:22 PM, Mr Flibble wrote:
The god damn MSVC debugger is messed up pretty bad! Got another taste of it!

Stuart Redmann

unread,
Jan 13, 2023, 1:20:02 AMJan 13
to
Care to elaborate? I think that the Visual Studios debugging capabilities
are outstanding because of the ability to add custom debug visualization.
This is possible using a rather rich extension interface (badly documented,
though). It enables us to export our data (2D geometries like polygons,
line strings, etc.) into an external viewer with a simple mouse click. It
can‘t get more convenient than that.

Regards,
Stuart

Mut...@dastardlyhq.com

unread,
Jan 13, 2023, 5:15:35 AMJan 13
to
The sort of people who write extensions to editors and debuggers obviously
don't have enough real work to do.

Manu Raju

unread,
Jan 13, 2023, 9:31:14 AMJan 13
to
On 13/01/2023 06:19, Stuart Redmann wrote:
> Care to elaborate? I think that the Visual Studios debugging capabilities
> are outstanding because of the ability to add custom debug visualization.
> This is possible using a rather rich extension interface (badly documented,
> though). It enables us to export our data (2D geometries like polygons,
> line strings, etc.) into an external viewer with a simple mouse click. It
> can‘t get more convenient than that.
>
>

I think he was sarcastic about Flibble's health issues but I won't say
more because I could be wrong.

Chris M. Thomasson

unread,
Jan 13, 2023, 4:43:25 PMJan 13
to
A line of code would push_back an element into a std::vector. The damn
debugger would show that the vector contained no elements, however, one
was there. Then there are other oddities.

I have never had this problem with MSVC before.

Mut...@dastardlyhq.com

unread,
Jan 14, 2023, 4:52:49 AMJan 14
to
On Fri, 13 Jan 2023 13:43:06 -0800
I don't know about VS, but if you use heavy optimisation with gcc then gdb
will often lose the plot when stepping and examining variables. Perhaps that
was the issue you had?

Mr Flibble

unread,
Jan 14, 2023, 2:24:30 PMJan 14
to
Are you using VS2022? I found it to be unusable: internal compiler errors
and a broken debugger; I had to revert to VS2019.

/Flibble

Mr Flibble

unread,
Jan 14, 2023, 2:24:59 PMJan 14
to
VS2022 is shoddy product: not sufficiently tested.

/Flibble

Chris M. Thomasson

unread,
Jan 14, 2023, 4:14:14 PMJan 14
to
I am using the following version:

https://i.ibb.co/VYxHtLH/image.png

Chris M. Thomasson

unread,
Jan 14, 2023, 5:44:51 PMJan 14
to
In debug mode.

David Brown

unread,
Jan 16, 2023, 5:32:50 AMJan 16
to
Are you debugging optimised code here? Remember that when
single-stepping or using breakpoints, a debugger is working primarily
with the generated object code. And when looking at variables, it is
mainly using the data in memory or registers. But there is often a
disconnect between the lines of the source code and the generated object
code - a line you step over might /logically/ put an element into a
vector, but the actual change to the data structure could be done far
latter in the code.

MSVC has traditionally had quite a simplistic handling for a lot of code
generation - it has done little in the way of re-arranging code. But I
have heard (I don't use the tool myself) that is does more manipulation
these days.

When using gcc and a debugger, it is quite normal for single-stepping to
jump around the code, for things to happen long before or long after you
might think from the "current" source line, for variables to be
"optimised out", etc. Debugging optimised code is something of an art.


David Brown

unread,
Jan 16, 2023, 5:38:06 AMJan 16
to
"Debug mode" is mostly a meaningless concept.

Many IDE's set up two different build configurations - one they call
"Debug" with low optimisation and lots of debugger information, and one
they call "Release" with high optimisation and little debugger
information. But there is not really such a thing as "optimised" code
and "unoptimised" code - compilers can enable or disable different
passes and different kinds of optimisations. Some "optimisations" are
done even when compilers are set to "no optimisation", and some
optimisation passes that are possible are not done even on "highest
optimisation" flags. (And some "optimisations" can make code slower in
practice.)

At best, "debug mode" reduces the risk of seeing such disconnects
between the source code and the effect of the object code, but it will
not eliminate it.

Mut...@dastardlyhq.com

unread,
Jan 16, 2023, 6:31:41 AMJan 16
to
On Mon, 16 Jan 2023 11:32:34 +0100
David Brown <david...@hesbynett.no> wrote:
>When using gcc and a debugger, it is quite normal for single-stepping to
>jump around the code, for things to happen long before or long after you
>might think from the "current" source line, for variables to be
>"optimised out", etc. Debugging optimised code is something of an art.

And debugging optimised multithreaded code will end up with you gibbering in
a corner shouting "Deadlock!" or "Race!" at any nearby pigeons.


Chris M. Thomasson

unread,
Jan 16, 2023, 2:45:33 PMJan 16
to
I have a lot of experience with MSVC. Optimization is disabled in Debug
mode by default. I have not artificially altered the optimization
settings. I have never had these problems with the MSVC debugger before.
Your comment just made me check, and it's disabled in Debug mode. Mr.
Flibble is right. The debugger is not up to par. Damn.

Chris M. Thomasson

unread,
Jan 16, 2023, 2:47:12 PMJan 16
to
No. You made me double check the settings for debug mode. They are
disabled. I have never had this problem before in MSVC.


> Remember that when
> single-stepping or using breakpoints, a debugger is working primarily
> with the generated object code.  And when looking at variables, it is
> mainly using the data in memory or registers.  But there is often a
> disconnect between the lines of the source code and the generated object
> code - a line you step over might /logically/ put an element into a
> vector, but the actual change to the data structure could be done far
> latter in the code.
>
> MSVC has traditionally had quite a simplistic handling for a lot of code
> generation - it has done little in the way of re-arranging code.  But I
> have heard (I don't use the tool myself) that is does more manipulation
> these days.
>
> When using gcc and a debugger, it is quite normal for single-stepping to
> jump around the code, for things to happen long before or long after you
> might think from the "current" source line, for variables to be
> "optimised out", etc.  Debugging optimised code is something of an art.
>
>

The MSVC has always worked really damn good, up until the recent
version... Damn!

Chris M. Thomasson

unread,
Jan 16, 2023, 2:52:11 PMJan 16
to
MSVC's debugger was always pretty damn good. I have used it to debug
nightmare multi-threaded code created by somebody else, where I had to
pause threads at a specific line, in order to reproduce a certain bug
that would only trip once in a blue moon. Found it during artificially
stress and load testing. This was a long time ago. Actually, I think I
wrote about it here some years ago on this group.

Optimization is turned off in Debug mode. Wrt to the IDE:

https://i.ibb.co/SV3dMQ7/image.png

Never had this problem before.

Chris M. Thomasson

unread,
Jan 16, 2023, 2:52:19 PMJan 16
to
On 1/16/2023 2:37 AM, David Brown wrote:
https://i.ibb.co/SV3dMQ7/image.png

Chris M. Thomasson

unread,
Jan 16, 2023, 2:57:21 PMJan 16
to
I wonder if frame pointers has something to do with it. The thing is
that MSVC always just worked. I have never experienced anything like
this in it before. ;^o

Mr Flibble

unread,
Jan 16, 2023, 3:49:39 PMJan 16
to
As your codebase doesn't look as involved as mine do you think you are in
a position to create a test case and create a MSVC defect report? In the
meantime I recommend downgrading to VS2019.

/Flibble

Mut...@dastardlyhq.com

unread,
Jan 17, 2023, 4:34:56 AMJan 17
to
On Mon, 16 Jan 2023 11:51:56 -0800
"Chris M. Thomasson" <chris.m.t...@gmail.com> wrote:
>On 1/16/2023 3:31 AM, Mut...@dastardlyhq.com wrote:
>> On Mon, 16 Jan 2023 11:32:34 +0100
>> David Brown <david...@hesbynett.no> wrote:
>>> When using gcc and a debugger, it is quite normal for single-stepping to
>>> jump around the code, for things to happen long before or long after you
>>> might think from the "current" source line, for variables to be
>>> "optimised out", etc. Debugging optimised code is something of an art.
>>
>> And debugging optimised multithreaded code will end up with you gibbering in
>> a corner shouting "Deadlock!" or "Race!" at any nearby pigeons.
>>
>>
>
>MSVC's debugger was always pretty damn good. I have used it to debug
>nightmare multi-threaded code created by somebody else, where I had to
>pause threads at a specific line, in order to reproduce a certain bug

Thats fine if you know where the line is but usually with threading issues
(and to be fair non threaded code too) a bug/crash occurs due to an earlier
bug or design error which in itself goes unnoticed.

Chris M. Thomasson

unread,
Jan 17, 2023, 3:36:24 PMJan 17
to
Touche. Well, if there is a bug in my OpenGL code, I have not found it
yet. Humm... So far, everything works and renders perfectly. My
debugging issue with MSVC had to do with push_back's on a vector, then
the debugger showed that it had no items. I said, shit... So, I iterated
the vector and sure enough, it was not empty and all of my vector data
(vertex, color, texture vertex, normals, ect...) was all there and
filled in with the correct data. Strange. I was thinking if the debugger
says the vector is empty, then how did all of the data get successfully
uploaded to the GPU! Argh!

Fwiw, here is an crude example scene of my current project:

https://youtu.be/n13GHyYEfLA

Chris M. Thomasson

unread,
Jan 18, 2023, 3:02:56 AMJan 18
to
Perhaps... I am working hard on a bone system, to make any model dance.
I am learning about geometry shaders... MSVC let me down.

Chris M. Thomasson

unread,
Jan 18, 2023, 3:04:51 AMJan 18
to
Trying to stick figure the model in a sense with a fractal shape. Use it
as bones. The model of the girl is made up of 103 separate meshes, with
their own indices. Just experimenting along... ;^)

Mut...@dastardlyhq.com

unread,
Jan 18, 2023, 4:27:29 AMJan 18
to
On Tue, 17 Jan 2023 12:36:06 -0800
"Chris M. Thomasson" <chris.m.t...@gmail.com> wrote:
>On 1/17/2023 1:34 AM, Mut...@dastardlyhq.com wrote:
>> On Mon, 16 Jan 2023 11:51:56 -0800
>> "Chris M. Thomasson" <chris.m.t...@gmail.com> wrote:
>>> On 1/16/2023 3:31 AM, Mut...@dastardlyhq.com wrote:
>>>> On Mon, 16 Jan 2023 11:32:34 +0100
>>>> David Brown <david...@hesbynett.no> wrote:
>>>>> When using gcc and a debugger, it is quite normal for single-stepping to
>>>>> jump around the code, for things to happen long before or long after you
>>>>> might think from the "current" source line, for variables to be
>>>>> "optimised out", etc. Debugging optimised code is something of an art.
>>>>
>>>> And debugging optimised multithreaded code will end up with you gibbering
>in
>>>> a corner shouting "Deadlock!" or "Race!" at any nearby pigeons.
>>>>
>>>>
>>>
>>> MSVC's debugger was always pretty damn good. I have used it to debug
>>> nightmare multi-threaded code created by somebody else, where I had to
>>> pause threads at a specific line, in order to reproduce a certain bug
>>
>> Thats fine if you know where the line is but usually with threading issues
>> (and to be fair non threaded code too) a bug/crash occurs due to an earlier
>> bug or design error which in itself goes unnoticed.
>>
>
>Touche. Well, if there is a bug in my OpenGL code, I have not found it
>yet. Humm... So far, everything works and renders perfectly. My

The sort of bugs we're discussing here arn't the obvious "Oh, that result isn't
correct" type. They're the "Oh, why has is suddenly hung/crashed when its run
fine for 2 months" type.

Christian Gollwitzer

unread,
Jan 18, 2023, 10:22:32 AMJan 18
to
Am 18.01.23 um 10:27 schrieb Mut...@dastardlyhq.com:
Yes, and here are my 2cents to debug these: valgrind, helgrind and
address sanititzer (million times more worth than 2 cents)

Christian


Chris M. Thomasson

unread,
Jan 18, 2023, 2:56:54 PMJan 18
to
Usually, those type of bugs are with race-conditions. My code is not
using multiple threads yet.

Scott Lurndal

unread,
Jan 18, 2023, 3:01:08 PMJan 18
to