我的主要问题:请问您列出SDL_GetError
将要打印的内容的几个示例吗?
我想使用SDL_GetError
来帮助我调试,但是我不知道会发生什么或如何创建自己的故意错误。
libsdl Wiki说:
仅当SDL功能已发出信号通知 错误。您必须检查SDL函数调用的返回值以确定 何时适当调用SDL_GetError()。
但是http://sdl.beuc.net/sdl.wiki/SDL_GetError说:
尽管此示例使用SDL_Init,但SDL_GetError提供了一个错误 SDL操作失败的错误消息。
那是什么?只有部分或全部?我见过的SDL Wiki /文档中没有一个提供示例错误消息的列表,因此我不知道如何启动错误,或者在内容和格式方面期望什么。是
“ ./ foo”中的错误:两次释放或损坏(顶部):
SDL_GetError
消息还是其他原因引起的?
答案 0 :(得分:0)
The wiki entry for SDL_Error
列出错误字符串:
SDL_errorcode |相应的错误字符串
SDL_ENOMEM |内存不足
SDL_EFREAD |从数据流读取错误
SDL_EFWRITE |写入数据流时出错
SDL_EFSEEK |在数据流中查找错误
SDL_UNSUPPORTED |未知的SDL错误
SDL_LASTERROR |未知的SDL错误
任何其他值|未知的SDL错误
另请参见SDL_error.c。维基条目之一似乎不正确。正确的错误代码-错误字符串对为:
SDL_UNSUPPORTED |该操作不受支持
您可以使用SDL_SetError
设置自定义错误消息-请参见上方的.c
。最后,“双重释放或损坏”不是由SDL引起的错误,而是最有可能由双重释放引起的错误。我建议gdb / valgrind对其进行调试。