Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未使用函数中未使用的JS变量+;条件导致QQmlEngine在加载时崩溃_Javascript_Qt_Crash_Qml_Qtquick2 - Fatal编程技术网

Javascript 未使用函数中未使用的JS变量+;条件导致QQmlEngine在加载时崩溃

Javascript 未使用函数中未使用的JS变量+;条件导致QQmlEngine在加载时崩溃,javascript,qt,crash,qml,qtquick2,Javascript,Qt,Crash,Qml,Qtquick2,这一定是迄今为止我遇到的最奇怪的Qt错误,未执行函数中未使用的var会导致QQmlEngine::load()上的硬崩溃 这需要几行代码才能重现: import QtQuick 2.7 import QtQuick.Window 2.2 Window { id: main visible: true width: 500 height: 300 function foo() { var c = main.width > 1 ? 27 : -147 } }

这一定是迄今为止我遇到的最奇怪的Qt错误,未执行函数中未使用的var会导致
QQmlEngine::load()
上的硬崩溃

这需要几行代码才能重现:

import QtQuick 2.7
import QtQuick.Window 2.2

Window {
  id: main
  visible: true
  width: 500
  height: 300

  function foo() {
    var c = main.width > 1 ? 27 : -147
  }
}
它在5.7和5.7.1两个版本上都崩溃,在windoze 7 x64和Ubuntu16.04下的Qt网站上构建的“stock”GCC版本。添加一个简单的
console.log(c)
可以防止崩溃。再次请注意,该函数是完全合法的,不能访问任何可疑对象,甚至不能执行它来产生崩溃。当引擎解析QML代码时,似乎出现了严重错误。条件是这里的关键,没有它它不会崩溃


除了暗示“这里发生了什么?”之外,在发布错误报告之前,我还想借此机会询问具有不同平台或Qt版本的用户它是否会影响其他人。

windows 7上的msvc2013也发生了崩溃。(但可以很好地使用
控制台。log(c)
)在Windows10上崩溃,Qt5.7MingW处于运行模式,但在调试中工作良好。顺便说一句,你是否已经在bug tracker中创建了一个问题?@folibis-Windows7上的msvc2013也发生了崩溃。(但可以很好地使用
控制台。log(c)
)在Windows10上崩溃,Qt5.7MingW处于运行模式,但在调试中工作良好。顺便说一句,你是否已经在bug tracker中创建了一个问题?@folibis-