What is a stack frame?

R

Richard

Richard Heathfield said:
Richard said:


Trolldom and getting-it-wrongness are not isomorphic. Trolls *deliberately*
post provocative material in the hope of drawing some kind of outraged
reaction. Kenny McCormack and Antoninus Twink are two obvious examples. If
you don't know this already, I'd be very surprised. I think you already
know, too, why Ian Collins considers you a troll. (And yes, I thought so
too, until very recently, when you had the opportunity to be very silly
about a mistake in one of my articles, but clearly made a deliberate
choice not to take that opportunity.)

Richard,

Let me make one thing very, very clear. I am a troll. If the definition
is someone who refuses to role over and kiss arse. There are a core
group here who delight in showing off and ridiculing other people. I
"troll" these people. I will not, and refuse to, allow them to get away
with it. I want new people to see that not everyone is unreasonable and
blinkered. This thread is a great example. How dare Collins "End Of
Story" the thread. When he was wrong IMO (and it is about opinions half
the time). And then he has the gall to somehow excuse HIS mistake and
then blame me? I was serious. I am serious. A C programmer in 99% of
implementations IS better off understanding the stack. Did he come
rolling in to "user" in order to suggest that Knuth and his reference
books are off topic? No. They provide added skills to help the
programmer. In this groups context, the C Programmer. To suggest that a
stack is "off topic" is cretinous to the extreme. I have seen people in
this group claim that a good C programmer needs no debugger. These kind
of elite, sanctimonious claims are nothing more than posing. And while
we're being reasonable, I have noticed you relax your "OT" rules
slightly - so all power to you on that one.
 
R

Richard Heathfield

Richard said:
Richard,

Let me make one thing very, very clear. I am a troll. If the definition
is someone who refuses to role over and kiss arse.

That isn't my definition.
There are a core
group here who delight in showing off and ridiculing other people.

Yes. But we might disagree as to the membership of that core group
(although we would probably have some overlap).
I "troll" these people.

In other words, you ridicule them. That might not be the best way to
persuade people not to use ridicule.
I will not, and refuse to, allow them to get away with it.

You can't stop them, because it's not a moderated group.
I want new people to see that not everyone is unreasonable and
blinkered.

If you really want that, the way to achieve it is to lead by example, by
providing great technical help without sarcasm. Like Chris Torek does,
say.
[...] I have noticed you relax your "OT" rules
slightly - so all power to you on that one.

Actually, I haven't changed the rules at all. I am not in a position to do
that. I did try, by asking the group whether they were prepared to loosen
topicality a bit, and almost everyone who responded was overwhelmingly
against the idea. I'm not overly happy about that, but I'm prepared to
abide by it.
 
R

Richard

Richard Heathfield said:
Richard said:


That isn't my definition.


Yes. But we might disagree as to the membership of that core group
(although we would probably have some overlap).
Indeed.


In other words, you ridicule them. That might not be the best way to
persuade people not to use ridicule.

Being reasonable gets nothing back but more pompous posturing.
You can't stop them, because it's not a moderated group.

No. But I can point out their anal qualities. I'm not perfect I
know. But some of these people are living in a parallel Universe.
If you really want that, the way to achieve it is to lead by example, by
providing great technical help without sarcasm. Like Chris Torek does,
say.

That's one way. I choose the other - sometimes.
[...] I have noticed you relax your "OT" rules
slightly - so all power to you on that one.

Actually, I haven't changed the rules at all. I am not in a position
to do

Oh well. It seemed you did. I had hoped.
that. I did try, by asking the group whether they were prepared to loosen
topicality a bit, and almost everyone who responded was overwhelmingly

Because the only ones who responded were the people I am referring
to. Everyone else had probably killed the thread as soon as the CLC
bible came out and a couple of you started thundering from the pulpit.

Anyway, as you so wisely pointed out, "So what. It's not a moderated
group."
against the idea. I'm not overly happy about that, but I'm prepared to
abide by it.

I'm not. And neither are lots of others. I will answer questions about
debuggers, and stacks and all the other things REAL breathing C
programmers use. And if that gets me back in your sinbin then so be it.

It was also wrong of you to snip and not comment on the example I gave
of typical "CLC Clique" behaviour. And if you do not see it existing
then you need a break.

This is without a doubt the most arrogant technical group I have ever
used. And I'm not alone in thinking that. A casual browse of the average
answer leaves me almost shaken

"Not on topic"
"No that wont work"
"RTFM"
"Can't speak about that here"
"Its down the road on the right"

etc etc etc ad nauseum.

At times it seems that certain posters are having a competition to see
who can post "OT" the most. It must be a close run thing between Robbie
Hatley, CBF and Default User Brian.
 
C

Chris Dollin

Richard said:
I have seen people in
this group claim that a good C programmer needs no debugger.

I've certainly claimed that I don't use one (except to get stacktraces).

I rarely use the Java debugger in Eclipse, either.
These kind of elite, sanctimonious claims are nothing more than posing.

I think that's mere name-calling and assertion on your part.

One may infer what one chooses from the statements above (and below).

PS Redundant braces, ugh.
 
J

jacob navia

Chris said:
I've certainly claimed that I don't use one (except to get stacktraces).

Yes. Please tell me that in Technicolor.

Like this, in just black and white I do not believe you a word.

:)
 
R

Richard

Chris Dollin said:
I've certainly claimed that I don't use one (except to get
stacktraces).

You are a wonder sir! I could never imagine not using one in a real
world project where one is extending, optimizing, fixing or refactoring
a huge legacy code base.

It is also incredibly useful, as I have stated before, to set HW break
points at known crash points, and at demonstrating program flow to new
recruits. As well as the ability to dynamically tweak parameters to force
certain situations you need to investigate.

All to their own, but I for sure would not hire or tolerate anyone who
felt that using a debugger was beneath them.

http://dirac.org/linux/gdb/01-Introduction.php

,----
| Most people use the printf() debugging method. This is called adding "trace code" to your program. Simply put, they sprinkle their code with printf() to view the value of variables at certain strategic points and also to examine the order of execution of lines of source code.
|
| There are a few reasons why this may not be the best way of doing things:
|
| 1. Sometimes you need a lot of printf()'s, and it can get tedious putting them in and taking them out. Inserting and deleting superfluous code all the time is really distracting. It draws attention away from what you're doing. It's like trying to implement a linked list while someone is talking to you about last night's Futurama episode.
| 2. A symbolic debugger can do an awful lot that printf() can't. You can do just about anything you can think of, including changing the value of variables at run-time, halt the program temporarily, list source code, printo the datatype of a variable or struct that you don't recognize, jump to an arbitrary line of code, and much, much more.
| 3. You can use a symbolic debugger on a running process; you don't even have to kill the process! Try that with printf()!
| 4. You can use a symbolic debugger on a process that has already crashed and died without having to re-run the program. You'll see the state the program was in at the time of death and can inspect all the variables.
| 5. A knowledge of GDB will increase your knowledge of programs, processes, memory and your language of choice.
`----

I rarely use the Java debugger in Eclipse, either.


I think that's mere name-calling and assertion on your part.

I would like to reword. I would like to insert the word "generally" in there.
One may infer what one chooses from the statements above (and below).

PS Redundant braces, ugh.

*shrug*

Statistics and experience of projects has led me to believe that braces
in at the start leads to less "braces missing" type errors ... not
surprisingly.
 
R

Richard

jacob navia said:
Yes. Please tell me that in Technicolor.

Like this, in just black and white I do not believe you a word.

:)

I seem to recall that CBF also claims he never needed one.

Astonishing.

Either planet sized brains or have never, ever worked on any code base
contributed to by anyone else. Or never had to find an error in a system
which occurs 5 hours into it running etc etc. Must be very limited
experience.
 
M

Morris Dovey

Richard said:
Richard said:
[...] I have noticed you relax your "OT" rules
slightly - so all power to you on that one.

Actually, I haven't changed the rules at all. I am not in a position to do
that. I did try, by asking the group whether they were prepared to loosen
topicality a bit, and almost everyone who responded was overwhelmingly
against the idea. I'm not overly happy about that, but I'm prepared to
abide by it.

Historically, the group has exhibited a tendancy to relax the
rules for those who've exhibited competency and who've
participated constructively over a period of time.

In spite of all the visible evidence that subscribers here are
too nerdy/geekish to care about anything other than programming,
it may help you to understand that over time the regulars have
gotten to know and value each other as human beings, and that
these people care about each other to a degree that you would
probably find astonishing.

I've concluded from some of your remarks that you perceive some
kind of power structure here - and I'd like you to know that by
looking for that, you've misdirected your attentions and led
yourself to some faulty conclusions.

It's worth noting that Heathfield has no more power here than you
or I or anyone else - and that what he does have is the earned
respect of knowledgable peers. Having that respect means that his
technical writings will be taken seriously. It does not mean that
the group automatically accepts what he says as gospel, but that
the group has learned that he's worth listening to. FWIW, my
personal take is that he also has a delightful sense of humor
with a sometimes sneaky subtlety. He's a straight-shooter and
he's generous enough to be willing to give better than he gets.
Like most Brits he sneaks extra letters into his words.

It's not a clique - it's a close community of individuals seeking
to serve the wider and more general programming community.

There's not a regular here who doesn't understand stacks - and I
doubt there're any who don't have a good grasp of stack frames -
but traffic levels here just don't allow discussion of
architecture to become part of the norm. It's not a matter of
excluding machine architecture (there really is a lot of interest
in this area) but rather of spreading the newsgroup so thinly
that it becomes worthless. If you have difficulty seeing how this
might be so, then for a period of two weeks, make an honest
effort to respond correctly (in terms of the latest C standards
document) to every new thread, and also keep an eye on every
other response given so as to ensure that posters receive
universally accurate responses. Warning: it isn't as easy as it
might look.

It's not difficult to understand that your own knowledge extends
beyond what's covered by the standard - and it'd probably help
for you to recognize that's so for every regular here. It's (in
part) the diversity of "outside knowledge" that allows the
newsgroup to be however useful it is.
 
M

Morris Dovey

Richard said:
Either planet sized brains or have never, ever worked on any code base
contributed to by anyone else. Or never had to find an error in a system
which occurs 5 hours into it running etc etc. Must be very limited
experience.

My mileage varies, but I haven't found a debugger that does much
for me in debugging thread interactions in real time
environments, but I'm willing to concede that I might find 'em
more useful if I had more experience.
 
D

David Resnick

You are a wonder sir! I could never imagine not using one in a real
world project where one is extending, optimizing, fixing or refactoring
a huge legacy code base.

It is also incredibly useful, as I have stated before, to set HW break
points at known crash points, and at demonstrating program flow to new
recruits. As well as the ability to dynamically tweak parameters to force
certain situations you need to investigate.

All to their own, but I for sure would not hire or tolerate anyone who
felt that using a debugger was beneath them.

I don't personally think the debugger is very useful. I use it for
analyzing core files. Haven't used it for much else in 8 years of a
mixture of C and C++ programming (yes, I know many here have longer
experience in programming). I believe that use of a debugger is a
fine choice, just not for me except in certain limited circumstances.
Mind you, many of the harder problems to debug in the large (and of
course multithreaded) group of apps I work on happen only under heavy
load where breakpoints/etc are not really useful. Would you hire the
"fools" who said this:

"As a personal choice, we tend not to use debuggers beyond getting a
stack trace or the value of a variable or two. One reason is that it
is easy to get lost in details of complex data structures and control
flow..." Kernighan and Pike, The Practice of Programming, p119.

They say later in the paragraph that a good debugger is a powerful
tool in some cases. But you are arguing far too strongly that it
basically essential for development of complex systems. Different
people have different development styles. You think debuggers and
stepping through code are an integral part of development/testing/
etc. I find using logging messages together with tools like Valgrind
and Rational Purify/Quantify much more useful. And I'd say whatever
works for each developer to get the job done is fine, no reason for
all the ire. Some people even manage to develop code without using
emacs, which I simply can't understand...

-David
 
R

Richard Heathfield

Richard said:
Being reasonable gets nothing back but more pompous posturing.

Being *un*reasonable is surely not the best way to go.
No. But I can point out their anal qualities. I'm not perfect I
know. But some of these people are living in a parallel Universe.

You can't stop that. Neither can I. Adding to their number doesn't help
anything.
That's one way. I choose the other - sometimes.

That is a shame.
[...] I have noticed you relax your "OT" rules
slightly - so all power to you on that one.

Actually, I haven't changed the rules at all. I am not in a position
to do

Oh well. It seemed you did. I had hoped.

I bend them occasionally.
Because the only ones who responded were the people I am referring
to.

I don't think so. For example, *you* responded (with a view on topicality
that isn't all that far from my own). Likewise Chris Hills. Ian Collins
and Jack Klein put forward /more/ liberal views than either yours or mine.
Everyone else had probably killed the thread as soon as the CLC
bible came out and a couple of you started thundering from the pulpit.

Well, if people aren't willing to make known their views on topicality, the
group can't realistically take their views into account.
Anyway, as you so wisely pointed out, "So what. It's not a moderated
group."


I'm not. And neither are lots of others. I will answer questions about
debuggers, and stacks and all the other things REAL breathing C
programmers use.

That's your choice, obviously. The trouble with that route (and it's a
route with which I have a certain amount of sympathy) is that there's no
clear place to draw the line. After all, REAL breathing C programmers use
cars to get to work, but presumably you don't think cars or coffee should
be topical here. Usenet is partitioned into topic groups for a reason.
And if that gets me back in your sinbin then so be it.

I don't killfile people if I think they're behaving reasonably. I don't
agree entirely with your topicality stance, but I have never yet killfiled
a clc regular for posting off-topic articles.
It was also wrong of you to snip and not comment on the example I gave
of typical "CLC Clique" behaviour. And if you do not see it existing
then you need a break.

Actually, it wasn't wrong of me to do that. Usenet is not only a strange
place, but also a vast one, and my time is limited. I don't have time to
talk about all the things I'd /like/ to discuss, let alone the things that
bore me to sleep, and this "CLC Clique" subject is in the latter category.
A clique is exclusive by definition. Anyone can post here, so the group is
not a clique. The only discriminatory factor that I see working here is
that of merit - i.e. knowledge of and ability to discuss the C programming
language. If you wish to describe the set of people who have that
knowledge and that ability as a "clique", that's up to you - but calling a
horse a zebra doesn't add a single stripe to its coat.
This is without a doubt the most arrogant technical group I have ever
used.

Okay, so change it by example.
And I'm not alone in thinking that. A casual browse of the average
answer leaves me almost shaken

So change the average answer, by posting better-than-average answers.
"Not on topic"
"No that wont work"
"RTFM"
"Can't speak about that here"
"Its down the road on the right"

etc etc etc ad nauseum.

To some extent it's inevitable. Usenet is topic-based, and there really are
places where people can get much better help on <foo> than can be provided
here, where <foo> is some subject only tangentially related to C
programming. Nevertheless, it is a shame, especially when people /say/
something is off-topic when in fact it isn't! That happens more often than
it should.
At times it seems that certain posters are having a competition to see
who can post "OT" the most.

Well, you *can't* change that by ridiculing them. Many of them don't even
see your replies, because you're in their killfiles. Nor are you likely to
be able to change it by persuading them. If you don't want to read what
they write, killfile them. If you'd rather they didn't write it at all,
you're out of luck. Neither you nor I get to decide what other people
write.
It must be a close run thing between Robbie
Hatley, CBF and Default User Brian.

<shrug> If you want to increase the S/N ratio in comp.lang.c, you won't
ever do that by adding to the noise. Add to the signal instead.
 
K

Kenny McCormack

Richard said:
At times it seems that certain posters are having a competition to see
who can post "OT" the most. It must be a close run thing between Robbie
Hatley, CBF and Default User Brian.

What about me? Don't I get credit for being up there in terms of doing
the "OT Dance"?
 
K

Kenny McCormack

Richard said:
Let me make one thing very, very clear. I am a troll. If the definition
is someone who refuses to role over and kiss arse. There are a core

Oh, Just Plain Richard, now you've done it. You've self-identified as a
troll. There's no going back. I did this myself several years back
and, among other things, absolutely made Keith Thompson's day. He
celebrates in bringing up the memory every chance he gets.

To continue the religion analogy: Admitting to being a troll in this NG
is like admitting to being a non-Christian in medieval Europe. That's
it; that's the end of the story. No further proof of anything is
needed.

Quoting a scene from JC Superstar:

There you have it, gentlemen. What more evidence do you need?
Keithy, thank you for the victim. Stay awhile and you'll see it
bleed.
group here who delight in showing off and ridiculing other people. I
"troll" these people.

And we love you for it.
 
R

Richard

David Resnick said:
I don't personally think the debugger is very useful. I use it for

If you don't think the ability to set HW break points/watch conditions on
complex matches in order to stop the process possibly hours into a run
is not useful then I really do not know what to say. if you dont think
the ability to dynamically change run time parameters to force certain
trigger parameters is useful then I'm astonished.

The only thing I can guess is that you work on very small, well
structured code bases for which you are almost solely responsible for.

And fair enough.

But some people here recommend against using them. There is a difference.
analyzing core files. Haven't used it for much else in 8 years of a
mixture of C and C++ programming (yes, I know many here have longer
experience in programming). I believe that use of a debugger is a
fine choice, just not for me except in certain limited circumstances.

Fair enough. Possibly. But I suspect your productivity would be much
better if you used one regularly. maybe. Maybe not. We'll not agree I'm
sure.

Mind you, many of the harder problems to debug in the large (and of
course multithreaded) group of apps I work on happen only under heavy
load where breakpoints/etc are not really useful. Would you hire the
"fools" who said this:

No. I would not.
"As a personal choice, we tend not to use debuggers beyond getting a
stack trace or the value of a variable or two. One reason is that it

"or the value of a variable or two". This is so open to interpretation
it is unbelievable. And as for the stack trace! What? There is NO
stack. Remember :-;
is easy to get lost in details of complex data structures and control
flow..." Kernighan and Pike, The Practice of Programming, p119.

I disagree with them. Of course I respect them. I wonder how many
existing code bases they maintained and extended? I wonder how good
debuggers were back then? TBH, I'm sick of seeing that quote trotted
out. I know what a debugger can do. I use it to do it. There is NO WAY I
could find those bugs from a print out of a 2.5 Million line code
base. I suspect that the debuggers available then were a fraction of
what is available now.

I would be interested to hear which bits of the following article you
disagree with:

http://dirac.org/linux/gdb/01-Introduction.php

Or is that guy wrong? Is Stallman wrong?
They say later in the paragraph that a good debugger is a powerful
tool in some cases. But you are arguing far too strongly that it
basically essential for development of complex systems. Different

It is IMO. Note the IMO. Maybe we have worked on different things. I can
only have my reasoned opinion. Developing code without using a good
debugger is, IMO, madness.
people have different development styles. You think debuggers and
stepping through code are an integral part of development/testing/

I do. And more importantly familiarisation.
etc. I find using logging messages together with tools like Valgrind
and Rational Purify/Quantify much more useful. And I'd say whatever

Valgrind is essential too.
works for each developer to get the job done is fine, no reason for
all the ire. Some people even manage to develop code without using
emacs, which I simply can't understand...

Emacs is falling behind the curve unfortunately. I use it too. I would
be interested to hear about your setup.

I gave up using ecb as it added no value. Semantic doesn't seem to do
much. Cscope and etags are ok. I never got code completion working
properly.
 
K

Kenny McCormack

It's not a dog - it's a small hairy animal that wags its tail and barks.

Part of the definition of a "clique" is that everyone denies its
existence, but everyone knows it exists.
 
R

Richard

Morris Dovey said:
My mileage varies, but I haven't found a debugger that does much
for me in debugging thread interactions in real time
environments, but I'm willing to concede that I might find 'em
more useful if I had more experience.

With every release gdb gets better in that respect. Having said that its
not something I know too much about (embedded systems that is).

clc is the only place I have seen so much resistance to debugging. Some
mean it. Most are simply posing for the camera I think.
 
R

Richard

Richard Heathfield said:
Richard said:


Being *un*reasonable is surely not the best way to go.

Who said anything about being unreasonable? I am always reasonable. Or
reasonably so ...

It is not unreasonable to refer to CBF as a pompous ass with too much of
an opinion of his own abilities when all he does is get things wrong and
insult people.
 
K

Kenny McCormack

Richard said:
With every release gdb gets better in that respect. Having said that its
not something I know too much about (embedded systems that is).

clc is the only place I have seen so much resistance to debugging. Some
mean it. Most are simply posing for the camera I think.

It *is* just posturing. The regs (and reg wannabees like David) want to
feel like mathematicians - who are able to prove their programs correct,
w/o any testing. As we all know, this is a very appealing thought, but
one without much real world traction.
 
R

Richard

Morris Dovey said:
Richard said:
Richard said:
[...] I have noticed you relax your "OT" rules
slightly - so all power to you on that one.

Actually, I haven't changed the rules at all. I am not in a position to do
that. I did try, by asking the group whether they were prepared to loosen
topicality a bit, and almost everyone who responded was overwhelmingly
against the idea. I'm not overly happy about that, but I'm prepared to
abide by it.

Historically, the group has exhibited a tendancy to relax the
rules for those who've exhibited competency and who've
participated constructively over a period of time.

Rubbish. It depends on whose side they see you on. The "standards nazis"
or the "lets be open man hippies".
In spite of all the visible evidence that subscribers here are
too nerdy/geekish to care about anything other than programming,
it may help you to understand that over time the regulars have
gotten to know and value each other as human beings, and that

No they haven't. They got to know each other as CLC members.
these people care about each other to a degree that you would
probably find astonishing.

I have been in and out of this group for years. Some times extended
absences and so I can see the changes more clearly.
I've concluded from some of your remarks that you perceive some
kind of power structure here - and I'd like you to know that by

There is a "perceived one".
looking for that, you've misdirected your attentions and led
yourself to some faulty conclusions.

Wrong. My conclusions are simple : there are too many smart alecs who
take too much enjoyment in being pedantic arses. There is nothing
incorrect about that. Read the posts if you dont believe me. And if you
do not see it then you've been here too long too.
It's worth noting that Heathfield has no more power here than you
or I or anyone else - and that what he does have is the earned

Its not worth noting at all. Of course he has no more power. Any
"perceived power" is purely based on quality of posts OR ones strict
adherence to the clique mantra. Dont believe me? Look at how a few
lickspittles trot out the old "I can assure you he knows more about this
than you" garbage.

I'm sorry Morris, but your little bit of prose almost sums up whats
wrong with this group. You do indeed go on about "earning ones
stripes". Fine. And not a bad thing. But not when it starts to spiral
into a hotbed of name calling and petty spitefulness as I have seen
against Jacob and various others.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top