Sponsored Content
Full Discussion: GDB - Realtime output
Top Forums Programming GDB - Realtime output Post 302505652 by Corona688 on Thursday 17th of March 2011 02:00:01 PM
Old 03-17-2011
Quote:
Originally Posted by majid.merkava
Hi guys,

Using gdb when we run executable it doesn't show the output of our program(such as printf, ...). it shows all of them when execution finishes. Is there any solution?
What exactly do you mean? the output of printf() literally doesn't appear anywhere until the program finishes?

That's probably because printf() is buffered. It holds the data in memory until you print a newline character. Try fprintf(stderr, ...); stderr defaults to unbuffered so should print immediately.
 

2 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

compare realtime

I have two log files which keeps appending every sec...I want to extract a certain field from each file(using awk for extracting the data) and compare them in real time... ex: log1 122 234 567 log2 234 567 log3 122 i need a log3 which keeps appending the data found in log1 and... (7 Replies)
Discussion started by: wannalearn
7 Replies

2. Shell Programming and Scripting

Copying files realtime

I have a primary server where certain files are created real time. These files have varying file sizes. I want to FTP or copy them over to a different server server as soon a file gets created. I have to ensure that only full file is copied. The receiving end process expects a FULL file. I am ok... (3 Replies)
Discussion started by: vskr72
3 Replies
GFS_PIO_GETS(3) 														   GFS_PIO_GETS(3)

NAME
gfs_pio_gets - read one line SYNOPSIS
#include <gfarm/gfarm.h> char *gfs_pio_gets (GFS_File f, char * s, size_t size); DESCRIPTION
gfs_pio_gets() reads one line from the file specified by the parameter gf to the buffer specified by the parameter s. You need to specify the size of the buffer by the parameter size. Unlike gfs_pio_getline(3), this function doesn't remove newline character at the end of the buffer. But if whole contents of the line can- not be stored to the buffer due to its length, or if the file reaches the end without newline, there will be no newline at the end of the buffer. In any case, one '' character is appended to the end of the buffer. If the file reaches its end, the length of the string in the buffer becomes 0. RETURN VALUES
NULL The function terminated successfully. GFARM_ERR_NO_MEMORY Insufficient memory was available. Others An error except the above occurred. The reason is shown by its pointed strings. EXAMPLES
EXAMPLE OF GFS_PIO_GETS FUNCTION #include <stdio.h> #include <stdlib.h> #include <gfarm/gfarm.h> int main(int argc, char **argv) { char *e; GFS_File gf; char buffer[512]; e = gfarm_initialize(&argc, &argv); if (e != NULL) { fprintf(stderr, "gfarm_initialize: %s ", e); return (EXIT_FAILURE); } if (argc <= 1) { fprintf(stderr, "missing gfarm filename "); return (EXIT_FAILURE); } e = gfs_pio_open(argv[1], GFARM_FILE_RDONLY, &gf); if (e != NULL) { fprintf(stderr, "%s: %s ", argv[1], e); return (EXIT_FAILURE); } e = gfs_pio_set_view_global(gf, 0); if (e != NULL) { fprintf(stderr, "%s: gfs_pio_set_view_global: %s ", argv[1], e); return (EXIT_FAILURE); } while ((e = gfs_pio_gets(gf, buffer, sizeof buffer)) != NULL && *buffer != '') { printf("got: %s", buffer); } if (e != NULL) { fprintf(stderr, "ERROR: %s ", e); return (EXIT_FAILURE); } e = gfs_pio_close(gf); if (e != NULL) { fprintf(stderr, "gfs_pio_close: %s ", e); return (EXIT_FAILURE); } e = gfarm_terminate(); if (e != NULL) { fprintf(stderr, "gfarm_initialize: %s ", e); return (EXIT_FAILURE); } return (EXIT_SUCCESS); } SEE ALSO
gfs_pio_open(3), gfs_pio_getline(3), gfs_pio_readline(3), gfs_pio_readdelim(3) Gfarm 13 May 2004 GFS_PIO_GETS(3)
All times are GMT -4. The time now is 01:05 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy