繁体   English   中英

我使用的是 ModelSim Altera 10.3d Quartus II 15.0 入门版。 当我打开它时,我收到一条错误消息

[英]I am using ModelSim Altera 10.3d Quartus II 15.0 starter edition. When I open it I get an error message

can't read "_clients()": no such variable
    while executing
"set _currObj $_clients($cid)"
    (object "::.bookmarkmgr" method "::vsimwidgets::bookmarkmgr::_setcurrent" body line 11)
    invoked from within
"_setcurrent $cid"
    (object "::.bookmarkmgr" method "::vsimwidgets::bookmarkmgr::_menu_prepost" body line 16)
    invoked from within
"::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1"
    (in namespace inscope "::vsimwidgets::bookmarkmgr" script line 1)
    invoked from within
"namespace inscope ::vsimwidgets::bookmarkmgr {::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1}"
    ("eval" body line 1)
    invoked from within
"eval $post_cmd"
    (procedure "::Vsimmenu:efaultMenuPostCmd" line 41)
    invoked from within
"::Vsimmenu:efaultMenuPostCmd .mBar.bookmarks {namespace inscope ::vsimwidgets::bookmarkmgr {::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1}} Se..."
    (menu preprocess)

如何消除这个错误

好的,您正在查看由事件回调引发的 Tcl 堆栈跟踪。 您需要有点创造力才能弄清楚这意味着什么,以及为什么会出现问题。 特别是,我们看到您试图从一个不存在的变量中读取; 这意味着_clients数组不是您认为的那样,或者cid在您不希望它是空字符串时是空字符串。

确定_clients是否正确的唯一方法是查看代码(您没有向我们展示)。 如果您需要说global _clientsvariable _client或类似的东西(可能涉及upvar ),请特别检查。

如果cid意外为空,您将要追溯它。 猜测,它是从标识为的菜单回调传入的空值:

::Vsimmenu:efaultMenuPostCmd .mBar.bookmarks {namespace inscope ::vsimwidgets::bookmarkmgr {::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1}} Se...

它不会在代码中看起来像那样。 您正在寻找可以创建使用namespace code命令的菜单绑定的东西,其中的东西可能会变成::.bookmarkmgr _menu_prepost .mBar.bookmarks 1 {} 1作为主体。 我猜它会依次使用list 、小部件名称等来完成。但它也可能全部包含在某种抽象的小部件管理代码中; 这是平凡的,除非你是幸运的追捕下来。

如果您没有编写任何自己的代码来触发此操作,而您只是尝试启动应用程序,请联系供应商并提交支持请求。

我就这个问题联系了供应商,他们为我的机器提供了修复程序。

对于 Windows:

  1. 单击桌面上的开始按钮并搜索“regedit”
  2. 展开“HKEY_CURRENT_USER”> 展开“软件”> 展开“模型技术”> 选择“ModelSim”
  3. 删除此文件夹中的所有文件
  4. 重启 ModelSim

对于 Linux:

您的主目录中应该有一个“.modelsim”文件。 请删除此文件,然后当您重新启动 ModelSim 时,它会自动为您创建一个新的 .modelsim 文件。

对于 Windows:

单击桌面上的开始按钮并搜索“regedit”展开“HKEY_CURRENT_USER”>展开“软件”>展开“模型技术”>选择“ModelSim”删除此文件夹中的所有文件重新启动ModelSim

谢谢,工作:) 非常感谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM