By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Fixed BDEBUGGER died on invalid watch request

I attempted to specify an array element past the array size as a variable to watch. Repeatable pop-up: "Visual C++ RTL" - Program: IDE.EXE - "The application requested the runtime to terminate in an unusual way. Please contact the application's support team for more information." Originally the array was already defined and filled with data, but I did not remember its size, and the message pooped up when I specified one element too many. The second time I specified the same string "cum[12]" BEFORE the command "SETARRAY cum[12]" was executed, as a deliberate test to see the failure message. It was accepted as a variable specifiation, and displayed [12] as its value. Singlestepping worked fine until I executed the SETARRAY command, which caused the same error message pop-up, followed by the usual "notify MS" pop-up. When the pop-ups were closed, the IDE/BDEBUGGER window disappeared, and TCC went to a new prompt.
TCC 13.02.35 in stand-alone WinXP home SP3 window.
Can you post a batch snippet that demonstrates the problem?

This siimple program below shows the problem. Load it ni the debugger, highlight "x[1]" in the second line and make it a "watch variable" (alt-D a). "Run to breakpoint" or single stepping alike show the problem.
on error quit
setarray x[1]
The reason I couldn't reproduce it originally is that the crash doesn't have anything to do with arrays or SETARRAY, and is only partially due to watching a variable. The actual problem is with ON ERROR throwing an exception while the debugger is trying to update the watch list (not when the error would normally be detected & displayed in the batch file itself). Which ends up with a stack unwinding problem, because ON ERROR is jumping to the wrong place.

I'll have a fix in build 36.

Similar threads