954,173 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Debug Assertion failed. help?

I just started using MS Visual C++ express to brush up on C\C++

I wrote one little sample program and it ran successfully, then every time after that i kept getting this debug assertion failed error that killed my program.

Here's my code.

#include

using std::cout;
using std::cin;

int main(){

int int1, int2, sum; //integers 1, 2, and the sum

cout << "Hello, I will add two integers for you.";

cout << "Please enter the first number: ";
cin >> int1;

cout << "Please enter the second number: ";
cin >> int2;

sum = int1 + int2; //sum of the 2 numbers

cout << "The sum of the numbers is: " << sum;

return 0;
}

It compiles, not sure if it works, but thats not really the point. I don't know what this debug assertion failure is. Any help?

radmaker3
Newbie Poster
8 posts since Dec 2008
Reputation Points: 10
Solved Threads: 0
 

That code is a dodge, don't u..
Assert : typically used to identify logic error by implementing the expression arg to evaluate to false only..
Ex.

char ch = 'a';
assert(ch != 'a') // assertion failure..
//expression is false..
cikara21
Posting Whiz
340 posts since Jul 2008
Reputation Points: 47
Solved Threads: 69
 

Post the text of the assertion as well.

Salem
Posting Sage
Team Colleague
11,531 posts since Dec 2005
Reputation Points: 5,862
Solved Threads: 953
 

I simplified the code to this and still got the error.

#include <iostream>

using std::cout;

int main(){

	cout << "Hello world!";

	return 0;
}


I can't copy paste the error code so im just retyping it. I apologize.

Debug Assertion Failed!

Program: ...metns\Visual Studio 2008\Projects\Practice\Debug\Practice.exe
File f:\dd\vctools\crt_bld\self_x86\crt\src\fdopen.c
Line 55

Expression: (filedes >= 0 && (unsigned)fildes < (unsigned)_nhandle)

It then mentiosn looking at the visual c++ docmentation.

After i just typed this all out I was looking at the development software and it had a dropdown menu that said debug, and i changed it to an option of release. solved my problem. So that's that I suppose. If anyone knows why I was getting that error in the first place it might save me a headache in the future i suppose. thanks

radmaker3
Newbie Poster
8 posts since Dec 2008
Reputation Points: 10
Solved Threads: 0
 

changing to release mode just tells it not to run the assert commands. that is a TERRIBLE idea because now something is going wrong, its just not telling you! It will come back to bite you for sure!

Use step through in debug mode to see which line the assert fails and let us know.

Dave

daviddoria
Posting Virtuoso
1,996 posts since Feb 2008
Reputation Points: 437
Solved Threads: 204
 

So where's the fdopen() call in your code?

Sure you're not compiling release, then running some ancient debug from some previous project?

When you run the code in debug mode, and get an assert, you should be able to view the stack trace of how you got to that point.
Click on each line of the stack trace until you get to your code. Then figure out what parameter you're passing to the current API call is bad.

Salem
Posting Sage
Team Colleague
11,531 posts since Dec 2005
Reputation Points: 5,862
Solved Threads: 953
 
shijobaby
Newbie Poster
14 posts since Jul 2009
Reputation Points: 4
Solved Threads: 1
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You