ASSERT(3) Linux Programmer's Manual ASSERT(3)NAME
assert - abort the program if assertion is false
SYNOPSIS
#include <assert.h>
void assert(scalar expression);
DESCRIPTION
If the macro NDEBUG was defined at the moment <assert.h> was last included, the macro assert() generates no code, and hence does nothing at
all. Otherwise, the macro assert() prints an error message to standard error and terminates the program by calling abort(3) if expression
is false (i.e., compares equal to zero).
The purpose of this macro is to help the programmer find bugs in his program. The message "assertion failed in file foo.c, function
do_bar(), line 1287" is of no help at all to a user.
RETURN VALUE
No value is returned.
CONFORMING TO
POSIX.1-2001, C89, C99. In C89, expression is required to be of type int and undefined behavior results if it is not, but in C99 it may
have any scalar type.
BUGS
assert() is implemented as a macro; if the expression tested has side-effects, program behavior will be different depending on whether NDE-
BUG is defined. This may create Heisenbugs which go away when debugging is turned on.
SEE ALSO abort(3), assert_perror(3), exit(3)COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 2002-08-25 ASSERT(3)
Check Out this Related Man Page
ASSERT(3) Linux Programmer's Manual ASSERT(3)NAME
assert - abort the program if assertion is false
SYNOPSIS
#include <assert.h>
void assert(scalar expression);
DESCRIPTION
This macro can help programmers find bugs in their programs, or handle exceptional cases via a crash that will produce limited debugging
output.
If expression is false (i.e., compares equal to zero), assert() prints an error message to standard error and terminates the program by
calling abort(3). The error message includes the name of the file and function containing the assert() call, the source code line number
of the call, and the text of the argument; something like:
prog: some_file.c:16: some_func: Assertion `val == 0' failed.
If the macro NDEBUG is defined at the moment <assert.h> was last included, the macro assert() generates no code, and hence does nothing at
all. It is not recommended to define NDEBUG if using assert() to detect error conditions since the software may behave non-deterministi-
cally.
RETURN VALUE
No value is returned.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
+----------+---------------+---------+
|Interface | Attribute | Value |
+----------+---------------+---------+
|assert() | Thread safety | MT-Safe |
+----------+---------------+---------+
CONFORMING TO
POSIX.1-2001, POSIX.1-2008, C89, C99. In C89, expression is required to be of type int and undefined behavior results if it is not, but in
C99 it may have any scalar type.
BUGS
assert() is implemented as a macro; if the expression tested has side-effects, program behavior will be different depending on whether NDE-
BUG is defined. This may create Heisenbugs which go away when debugging is turned on.
SEE ALSO abort(3), assert_perror(3), exit(3)COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
GNU 2017-09-15 ASSERT(3)
I get this error when I try to FTP from an HP Alpha Server to a UNIX box.
FATAL: BUILD13$:SSHFC_TRANSFER.C;1:1835 SshFCTransfer (function name unavailable) Assertion failed: tdata
->current_dest_file->attributes->flags & 0x00000004
the sftp /put fails just before it does the actual transfer.... (2 Replies)
Hi all.
I wrote a program with the Motif Widget Toolkit. It has a
button and a scrollbar. When the user hits the button the
callback creates a new fork() thread. The new thread sleeps
for a while and then changes the position of the scrollbar.
It does this in an endless loop.
I need the... (2 Replies)
I'm sorry if the title is really criptic, but I don't know how to phrase my problem.
I know I can't really ask for a solution, and I normally wouldn't but this is really escaping my abilities.
Antefacts.
I developed a program using the zeromq messaging library.
I got to a point where the... (11 Replies)