[prev in list] [next in list] [prev in thread] [next in thread]
List: imagemagick-user
Subject: [magick-users] Strange debugging problem with gdb (convert.c)!!
From: Arvind Jagannath <arvind_jagannath () yahoo ! com>
Date: 2006-12-25 23:36:38
Message-ID: 373265.361.qm () web51910 ! mail ! yahoo ! com
[Download RAW message or body]
Hi,
I was trying to step through the convert utility code
in imagemagick 5.4.7, convert.c (& mogrify.c)
void ConvertUtility(int argc,char **argv)
I was just trying to convert a PseudoClass image into
a TrueColor, DirectClass image.
While stepping through gdb, I noticed that gdb would
step back into some lines of code which were already
executed.(its not in any sort of a loop or goto!!)
For eg., gdb would keep going back to a line
having the CloneImage() call until it got a non-NULL
image_info.
=======================================
(gdb) n
365 image_info=CloneImageInfo((ImageInfo *)
NULL);
(gdb) n
363 image=(Image *) NULL;
(gdb) p *image_info
Cannot access memory at address 0x0
(gdb) n
364 image_list=(Image *) NULL;
(gdb)
365 image_info=CloneImageInfo((ImageInfo *)
NULL);
(gdb)
366 (void)
strncpy(image_info->filename,argv[argc-1],MaxTextExtent-1);
(gdb) p *image_info
Cannot access memory at address 0x0
(gdb) n
365 image_info=CloneImageInfo((ImageInfo *)
NULL);
(gdb)
366 (void)
strncpy(image_info->filename,argv[argc-1],MaxTextExtent-1);
(gdb) p *image_info
$1 = {compression = UndefinedCompression, temporary =
0, adjoin = 1,
affirm = 0, antialias = 1, subimage = 0, subrange =
0, depth = 16,
size = 0x0, tile = 0x0, page = 0x0, interlace =
NoInterlace,
endian = UndefinedEndian, units =
UndefinedResolution, quality = 75,
sampling_factor = 0x0, server_name = 0x0, font =
0x0, texture = 0x0,
density = 0x0, pointsize = 12, fuzz = 0, pen = {blue
= 0, green = 0,
red = 0, opacity = 0}, background_color = {blue =
65535, green = 65535,
red = 65535, opacity = 0}, border_color = {blue =
57311, green = 57311,
red = 57311, opacity = 0}, matte_color = {blue =
48573, green = 48573,
red = 48573, opacity = 0}, dither = 1, monochrome
= 0,
colorspace = UndefinedColorspace, type =
UndefinedType,
preview_type = UndefinedPreview, group = 0, ping =
0, verbose = 0,
debug = 0, view = 0x0, attributes = 0x0, client_data
= 0x0, fifo = 0,
file = 0x0, blob = 0x0, length = 0, magick = '\0'
<repeats 2052 times>,
unique = '\0' <repeats 2052 times>, zero = '\0'
<repeats 2052 times>,
filename = '\0' <repeats 2052 times>, signature =
2880220587}
(gdb) n
367 (void)
SetImageInfo(image_info,True,&exception);
=======================================
Can somebody please explain to me about what's
happening ???
I really NEED to understand this in order to be able
to proceed!!
(Its not about the convert itself but the debugging
which I'm curious about.., the conversion succeeds.)
I saw this behavior of gdb in many other parts of the
code too.
I can do the conversion easily using the cmd-line also
========================================
bash-2.05b# ./identify warning4.jpg
identify: Unable to open file (magic.mgk).
warning4.jpg JPEG 150x55 PseudoClass 256c 8-bit 2575b
0.0u 0:01
bash-2.05b#
bash-2.05b# ./convert -type TrueColor warning4.jpg
warning8.jpg
convert: Unable to open file (delegates.mgk).
bash-2.05b#
bash-2.05b# ./identify warning8.jpg
identify: Unable to open file (magic.mgk).
warning8.jpg JPEG 150x55 DirectClass 8-bit 2756b 0.0u
0:01
bash-2.05b#
=====================================
Thanks in advance!!
Arvind
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
Magick-users mailing list
Magick-users@imagemagick.org
http://studio.imagemagick.org/mailman/listinfo/magick-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic