我有一些MagickWand代码,其中MagickReadImage()
失败(返回MagickFalse
)在一个系统上工作。如何在没有异常时调试MagickReadImage失败
现在没有发生异常,MagickGetException()
返回一个空字符串,如果我正确理解文档,这意味着没有例外。
我想打开的文件在那里,我可以用同一用户下的其他工具打开它,并且我使用的magick_wand
不是NULL。
呼叫周围的代码基本上是这样的:
// read image
MagickBooleanType status = MagickReadImage(magick_wand, fn_selector);
// make sure it worked
if (status == MagickFalse)
{
char *description;
ExceptionType severity;
description=MagickGetException(magick_wand,&severity);
fprintf(stderr,"%s %s %lu :%s: %u\n",GetMagickModule(),description,severity);
description=(char *) MagickRelinquishMemory(description);
fprintf(stderr, "magickwand couldn't read file %s\n", fn_selector);
exit(1);
}
有没有办法找出为什么函数调用失败? MagickReadImage()
似乎调用一个不容易调试的内部函数,并且我不想自己构建MagickWand库,如果不是绝对必要的话,可以添加调试内容。
使用MagickWand版本6.8.9.9(Debian的杰西)