我有一些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的傑西)