What was the first mainstream advanced debugger?
up vote
4
down vote
favorite
What was the first mainstream development toolchain that provided advanced debugging facilities?
By "mainstream" I mean something that was available on home computers, not mainframes or super-expensive workstations. It also implies that it was commercially available (not custom-developed tools that never escaped the garage of some mad scientist).
My definition of "advanced debugging facilities" includes at least the following features:
- Setting breakpoints without having to define them explicitly in the source code (e.g. using the STOP statement in the middle of a gwbasic program does not qualify)
- Running step-by-step at the source code level statements (not having to resort to low-level single-machine-instruction stepping)
- Dumping the call stack, showing the actual function names from the source code
- Show values of global and local variables without having to look at the raw memory / CPU registers, and know the ABI specs by heart
Any language qualifies (well, any language that supports function calls, given the requirement on being able to view some call stack).
software-development debugging
|
show 4 more comments
up vote
4
down vote
favorite
What was the first mainstream development toolchain that provided advanced debugging facilities?
By "mainstream" I mean something that was available on home computers, not mainframes or super-expensive workstations. It also implies that it was commercially available (not custom-developed tools that never escaped the garage of some mad scientist).
My definition of "advanced debugging facilities" includes at least the following features:
- Setting breakpoints without having to define them explicitly in the source code (e.g. using the STOP statement in the middle of a gwbasic program does not qualify)
- Running step-by-step at the source code level statements (not having to resort to low-level single-machine-instruction stepping)
- Dumping the call stack, showing the actual function names from the source code
- Show values of global and local variables without having to look at the raw memory / CPU registers, and know the ABI specs by heart
Any language qualifies (well, any language that supports function calls, given the requirement on being able to view some call stack).
software-development debugging
The question is at the same time overly borad and way to narrow, as it implies the use of a high level language as well as stack based function calls and then narrowing down to home computers - devices that could by definition only offer a very limited amount of the requested features. Any answer will be argueable at best.
– Raffzahn
2 hours ago
@Raffzahn All right, let's make it more easily answerable: "What was the first mainstream advanced debugger Raffzahn ever encoutered?". No, seriously, I used to use Turbo Pascal and I know it was able to do that starting from some version (and I was amazed). I was using a PC, which is a kind of home computer. So home computers were totally able to do that at some point, and I have to disagree with your statement: "home computers - devices that could by definition only offer a very limited amount of the requested features".
– dim
2 hours ago
Well, Dim, that's the first agueable issue, as a PC isn't a home computer. Some C64 or Apple II is something to be considered a home computer - after all, just having one at oeme doesn't count - otherwise the MutiBus Unix Machine I had in 1980 would be one as well :)) A C64 of TO-7 or Apple II just doesn not have the capabilities to house a more than rudimentary debuger.
– Raffzahn
1 hour ago
Also, Raffzahns first doesn't trealy count, as it was mainframe system I encountered a first great symbolic debunging envirionment - to be used with Assembly programs from a commandline - but including all features you mention :))
– Raffzahn
1 hour ago
@Raffzahn I'm stunned you don't consider a PC a home computer. After all, doesn't it stand for "Personal Computer"? Don't you put your personal stuff at home?
– dim
1 hour ago
|
show 4 more comments
up vote
4
down vote
favorite
up vote
4
down vote
favorite
What was the first mainstream development toolchain that provided advanced debugging facilities?
By "mainstream" I mean something that was available on home computers, not mainframes or super-expensive workstations. It also implies that it was commercially available (not custom-developed tools that never escaped the garage of some mad scientist).
My definition of "advanced debugging facilities" includes at least the following features:
- Setting breakpoints without having to define them explicitly in the source code (e.g. using the STOP statement in the middle of a gwbasic program does not qualify)
- Running step-by-step at the source code level statements (not having to resort to low-level single-machine-instruction stepping)
- Dumping the call stack, showing the actual function names from the source code
- Show values of global and local variables without having to look at the raw memory / CPU registers, and know the ABI specs by heart
Any language qualifies (well, any language that supports function calls, given the requirement on being able to view some call stack).
software-development debugging
What was the first mainstream development toolchain that provided advanced debugging facilities?
By "mainstream" I mean something that was available on home computers, not mainframes or super-expensive workstations. It also implies that it was commercially available (not custom-developed tools that never escaped the garage of some mad scientist).
My definition of "advanced debugging facilities" includes at least the following features:
- Setting breakpoints without having to define them explicitly in the source code (e.g. using the STOP statement in the middle of a gwbasic program does not qualify)
- Running step-by-step at the source code level statements (not having to resort to low-level single-machine-instruction stepping)
- Dumping the call stack, showing the actual function names from the source code
- Show values of global and local variables without having to look at the raw memory / CPU registers, and know the ABI specs by heart
Any language qualifies (well, any language that supports function calls, given the requirement on being able to view some call stack).
software-development debugging
software-development debugging
asked 2 hours ago
dim
291210
291210
The question is at the same time overly borad and way to narrow, as it implies the use of a high level language as well as stack based function calls and then narrowing down to home computers - devices that could by definition only offer a very limited amount of the requested features. Any answer will be argueable at best.
– Raffzahn
2 hours ago
@Raffzahn All right, let's make it more easily answerable: "What was the first mainstream advanced debugger Raffzahn ever encoutered?". No, seriously, I used to use Turbo Pascal and I know it was able to do that starting from some version (and I was amazed). I was using a PC, which is a kind of home computer. So home computers were totally able to do that at some point, and I have to disagree with your statement: "home computers - devices that could by definition only offer a very limited amount of the requested features".
– dim
2 hours ago
Well, Dim, that's the first agueable issue, as a PC isn't a home computer. Some C64 or Apple II is something to be considered a home computer - after all, just having one at oeme doesn't count - otherwise the MutiBus Unix Machine I had in 1980 would be one as well :)) A C64 of TO-7 or Apple II just doesn not have the capabilities to house a more than rudimentary debuger.
– Raffzahn
1 hour ago
Also, Raffzahns first doesn't trealy count, as it was mainframe system I encountered a first great symbolic debunging envirionment - to be used with Assembly programs from a commandline - but including all features you mention :))
– Raffzahn
1 hour ago
@Raffzahn I'm stunned you don't consider a PC a home computer. After all, doesn't it stand for "Personal Computer"? Don't you put your personal stuff at home?
– dim
1 hour ago
|
show 4 more comments
The question is at the same time overly borad and way to narrow, as it implies the use of a high level language as well as stack based function calls and then narrowing down to home computers - devices that could by definition only offer a very limited amount of the requested features. Any answer will be argueable at best.
– Raffzahn
2 hours ago
@Raffzahn All right, let's make it more easily answerable: "What was the first mainstream advanced debugger Raffzahn ever encoutered?". No, seriously, I used to use Turbo Pascal and I know it was able to do that starting from some version (and I was amazed). I was using a PC, which is a kind of home computer. So home computers were totally able to do that at some point, and I have to disagree with your statement: "home computers - devices that could by definition only offer a very limited amount of the requested features".
– dim
2 hours ago
Well, Dim, that's the first agueable issue, as a PC isn't a home computer. Some C64 or Apple II is something to be considered a home computer - after all, just having one at oeme doesn't count - otherwise the MutiBus Unix Machine I had in 1980 would be one as well :)) A C64 of TO-7 or Apple II just doesn not have the capabilities to house a more than rudimentary debuger.
– Raffzahn
1 hour ago
Also, Raffzahns first doesn't trealy count, as it was mainframe system I encountered a first great symbolic debunging envirionment - to be used with Assembly programs from a commandline - but including all features you mention :))
– Raffzahn
1 hour ago
@Raffzahn I'm stunned you don't consider a PC a home computer. After all, doesn't it stand for "Personal Computer"? Don't you put your personal stuff at home?
– dim
1 hour ago
The question is at the same time overly borad and way to narrow, as it implies the use of a high level language as well as stack based function calls and then narrowing down to home computers - devices that could by definition only offer a very limited amount of the requested features. Any answer will be argueable at best.
– Raffzahn
2 hours ago
The question is at the same time overly borad and way to narrow, as it implies the use of a high level language as well as stack based function calls and then narrowing down to home computers - devices that could by definition only offer a very limited amount of the requested features. Any answer will be argueable at best.
– Raffzahn
2 hours ago
@Raffzahn All right, let's make it more easily answerable: "What was the first mainstream advanced debugger Raffzahn ever encoutered?". No, seriously, I used to use Turbo Pascal and I know it was able to do that starting from some version (and I was amazed). I was using a PC, which is a kind of home computer. So home computers were totally able to do that at some point, and I have to disagree with your statement: "home computers - devices that could by definition only offer a very limited amount of the requested features".
– dim
2 hours ago
@Raffzahn All right, let's make it more easily answerable: "What was the first mainstream advanced debugger Raffzahn ever encoutered?". No, seriously, I used to use Turbo Pascal and I know it was able to do that starting from some version (and I was amazed). I was using a PC, which is a kind of home computer. So home computers were totally able to do that at some point, and I have to disagree with your statement: "home computers - devices that could by definition only offer a very limited amount of the requested features".
– dim
2 hours ago
Well, Dim, that's the first agueable issue, as a PC isn't a home computer. Some C64 or Apple II is something to be considered a home computer - after all, just having one at oeme doesn't count - otherwise the MutiBus Unix Machine I had in 1980 would be one as well :)) A C64 of TO-7 or Apple II just doesn not have the capabilities to house a more than rudimentary debuger.
– Raffzahn
1 hour ago
Well, Dim, that's the first agueable issue, as a PC isn't a home computer. Some C64 or Apple II is something to be considered a home computer - after all, just having one at oeme doesn't count - otherwise the MutiBus Unix Machine I had in 1980 would be one as well :)) A C64 of TO-7 or Apple II just doesn not have the capabilities to house a more than rudimentary debuger.
– Raffzahn
1 hour ago
Also, Raffzahns first doesn't trealy count, as it was mainframe system I encountered a first great symbolic debunging envirionment - to be used with Assembly programs from a commandline - but including all features you mention :))
– Raffzahn
1 hour ago
Also, Raffzahns first doesn't trealy count, as it was mainframe system I encountered a first great symbolic debunging envirionment - to be used with Assembly programs from a commandline - but including all features you mention :))
– Raffzahn
1 hour ago
@Raffzahn I'm stunned you don't consider a PC a home computer. After all, doesn't it stand for "Personal Computer"? Don't you put your personal stuff at home?
– dim
1 hour ago
@Raffzahn I'm stunned you don't consider a PC a home computer. After all, doesn't it stand for "Personal Computer"? Don't you put your personal stuff at home?
– dim
1 hour ago
|
show 4 more comments
2 Answers
2
active
oldest
votes
up vote
10
down vote
The "Basic Programming" cartridge for the Atari 2600 came out in 1980 and it supports all of those except the first one. It had windows for the program, stack, variables, and output which could individually switched on and off (the cartridge would vertically stack as many enabled windows as would fit, stopping when all enabled windows were shown or it reached the bottom of the screen). Unfortunately, it had to fit in 4K of code space and run on a machine with 128 bytes of RAM (so the program, variables, stack, and output were limited to a total of 64 bytes), but I don't think I've seen anything that sophisticated on any more powerful machines prior to that.
LOL. Supercat, that's a great answer. ;) Made my day !
– Raffzahn
1 hour ago
add a comment |
up vote
4
down vote
THINK Pascal had an integrated debugger that meets all your criteria. You could mark stop points in the editor and then debug your compiled code using them. The debugger supported stepping, a meaningful call stack display, and a good list of the variables as structured typed information.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
10
down vote
The "Basic Programming" cartridge for the Atari 2600 came out in 1980 and it supports all of those except the first one. It had windows for the program, stack, variables, and output which could individually switched on and off (the cartridge would vertically stack as many enabled windows as would fit, stopping when all enabled windows were shown or it reached the bottom of the screen). Unfortunately, it had to fit in 4K of code space and run on a machine with 128 bytes of RAM (so the program, variables, stack, and output were limited to a total of 64 bytes), but I don't think I've seen anything that sophisticated on any more powerful machines prior to that.
LOL. Supercat, that's a great answer. ;) Made my day !
– Raffzahn
1 hour ago
add a comment |
up vote
10
down vote
The "Basic Programming" cartridge for the Atari 2600 came out in 1980 and it supports all of those except the first one. It had windows for the program, stack, variables, and output which could individually switched on and off (the cartridge would vertically stack as many enabled windows as would fit, stopping when all enabled windows were shown or it reached the bottom of the screen). Unfortunately, it had to fit in 4K of code space and run on a machine with 128 bytes of RAM (so the program, variables, stack, and output were limited to a total of 64 bytes), but I don't think I've seen anything that sophisticated on any more powerful machines prior to that.
LOL. Supercat, that's a great answer. ;) Made my day !
– Raffzahn
1 hour ago
add a comment |
up vote
10
down vote
up vote
10
down vote
The "Basic Programming" cartridge for the Atari 2600 came out in 1980 and it supports all of those except the first one. It had windows for the program, stack, variables, and output which could individually switched on and off (the cartridge would vertically stack as many enabled windows as would fit, stopping when all enabled windows were shown or it reached the bottom of the screen). Unfortunately, it had to fit in 4K of code space and run on a machine with 128 bytes of RAM (so the program, variables, stack, and output were limited to a total of 64 bytes), but I don't think I've seen anything that sophisticated on any more powerful machines prior to that.
The "Basic Programming" cartridge for the Atari 2600 came out in 1980 and it supports all of those except the first one. It had windows for the program, stack, variables, and output which could individually switched on and off (the cartridge would vertically stack as many enabled windows as would fit, stopping when all enabled windows were shown or it reached the bottom of the screen). Unfortunately, it had to fit in 4K of code space and run on a machine with 128 bytes of RAM (so the program, variables, stack, and output were limited to a total of 64 bytes), but I don't think I've seen anything that sophisticated on any more powerful machines prior to that.
answered 2 hours ago
supercat
6,364635
6,364635
LOL. Supercat, that's a great answer. ;) Made my day !
– Raffzahn
1 hour ago
add a comment |
LOL. Supercat, that's a great answer. ;) Made my day !
– Raffzahn
1 hour ago
LOL. Supercat, that's a great answer. ;) Made my day !
– Raffzahn
1 hour ago
LOL. Supercat, that's a great answer. ;) Made my day !
– Raffzahn
1 hour ago
add a comment |
up vote
4
down vote
THINK Pascal had an integrated debugger that meets all your criteria. You could mark stop points in the editor and then debug your compiled code using them. The debugger supported stepping, a meaningful call stack display, and a good list of the variables as structured typed information.
add a comment |
up vote
4
down vote
THINK Pascal had an integrated debugger that meets all your criteria. You could mark stop points in the editor and then debug your compiled code using them. The debugger supported stepping, a meaningful call stack display, and a good list of the variables as structured typed information.
add a comment |
up vote
4
down vote
up vote
4
down vote
THINK Pascal had an integrated debugger that meets all your criteria. You could mark stop points in the editor and then debug your compiled code using them. The debugger supported stepping, a meaningful call stack display, and a good list of the variables as structured typed information.
THINK Pascal had an integrated debugger that meets all your criteria. You could mark stop points in the editor and then debug your compiled code using them. The debugger supported stepping, a meaningful call stack display, and a good list of the variables as structured typed information.
answered 2 hours ago
Michael Shopsin
854321
854321
add a comment |
add a comment |
Thanks for contributing an answer to Retrocomputing Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f8487%2fwhat-was-the-first-mainstream-advanced-debugger%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
The question is at the same time overly borad and way to narrow, as it implies the use of a high level language as well as stack based function calls and then narrowing down to home computers - devices that could by definition only offer a very limited amount of the requested features. Any answer will be argueable at best.
– Raffzahn
2 hours ago
@Raffzahn All right, let's make it more easily answerable: "What was the first mainstream advanced debugger Raffzahn ever encoutered?". No, seriously, I used to use Turbo Pascal and I know it was able to do that starting from some version (and I was amazed). I was using a PC, which is a kind of home computer. So home computers were totally able to do that at some point, and I have to disagree with your statement: "home computers - devices that could by definition only offer a very limited amount of the requested features".
– dim
2 hours ago
Well, Dim, that's the first agueable issue, as a PC isn't a home computer. Some C64 or Apple II is something to be considered a home computer - after all, just having one at oeme doesn't count - otherwise the MutiBus Unix Machine I had in 1980 would be one as well :)) A C64 of TO-7 or Apple II just doesn not have the capabilities to house a more than rudimentary debuger.
– Raffzahn
1 hour ago
Also, Raffzahns first doesn't trealy count, as it was mainframe system I encountered a first great symbolic debunging envirionment - to be used with Assembly programs from a commandline - but including all features you mention :))
– Raffzahn
1 hour ago
@Raffzahn I'm stunned you don't consider a PC a home computer. After all, doesn't it stand for "Personal Computer"? Don't you put your personal stuff at home?
– dim
1 hour ago