【发布时间】:2015-08-31 14:48:26
【问题描述】:
如何消除此错误
【问题讨论】:
标签: client tcl hardware fpga bookmarks
如何消除此错误
【问题讨论】:
标签: client tcl hardware fpga bookmarks
好的,您正在查看由事件回调引发的 Tcl 堆栈跟踪。你需要有一点创造性来弄清楚它的含义,以及为什么会出现问题。特别是,我们看到您试图从一个不存在的变量中读取;这意味着_clients 数组不是您认为的那样,或者cid 是一个空字符串,而您并不期望它是。
判断_clients 是否正确的唯一方法是查看代码(您尚未向我们展示)。如果您需要说global _clients 或variable _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:
- 单击桌面上的开始按钮并搜索“regedit”
- 展开“HKEY_CURRENT_USER”>展开“软件”>展开“模型技术”>选择“ModelSim”
- 删除此文件夹中的所有文件
- 重启 ModelSim
对于 Linux:
您的主目录中应该有一个“.modelsim”文件。 请删除此文件,然后当您重新启动 ModelSim 时,它会 自动为您创建一个新的 .modelsim 文件。
【讨论】:
对于 Windows:
单击桌面上的开始按钮并搜索“regedit” 展开“HKEY_CURRENT_USER”>展开“软件”>展开“模型技术”>选择“ModelSim” 删除此文件夹中的所有文件 重启 ModelSim
谢谢,工作:) 非常感谢
【讨论】: