• 5139阅读
  • 2回复

语法高亮,windows正常,ubuntu程序崩溃 [复制链接]

上一主题 下一主题
离线sdh-bing
 
只看楼主 倒序阅读 楼主  发表于: 2009-08-27
在windows上做了一个小软件,其中有个编辑器模块,并且加入了语法高亮类。
windows上运行是正常的,但到linux下面就不好使啦,经过痛苦的调试,发现这条语句一执行,软件就崩了,退出。

        Highlighter *h = new Highlighter(editer->document());

但它的退出并不是访问了非法内存,而是安静的退出,只在QtCreator中显示一行
        ASSERT: "i >= 0 && i < size()" in file ../../study/qt4.5.2/qt/include/QtCore/qstring.h, line 685。The program has unexpectedly finished.
打开那个文件看了一下,怎么也弄不明白崩溃的原因阿

期待高手指点迷津。。。
离线shiroki

只看该作者 1楼 发表于: 2009-08-28
检查 editer的指针是否合法
再检查editer->document()是否合法
用gdb调试一下得一个backtrace
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线sdh-bing
只看该作者 2楼 发表于: 2009-08-28
问题已解决
editer和editer->document()都是合法的
问题出在我定义的这个editer类中,它从QPlainTextedit继承,构造中设置字体为courier(显示代码常用字体),可是我的linux上却不存在这个字体
所以。。。
快速回复
限100 字节
 
上一个 下一个