This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
原提问:e2echina.ti.com/.../ccstudio-ccs-view--expression
新建立的CCS工作空间,Expression是空白的,于是向往这里面增加一些变量用于观察,特别是在程序调试运行的时候观看
然而,经过一段时间后,就会出现在程序运行界面选择View->Expression,无法弹出观察窗口,只有把视图从CCS Debug切换至CCS Edit,该观察窗口才可以弹出来
不知道是否是CCS的bug?已经多次出现了
解决办法目前是把workspace里的内容全都删除掉(这样Expression里之前添加的观察变量也会被清空),然后再重新添加,就又正常了
推测是不是workspace里的缓存影响到了View->Expression的查看?
再次复现了该问题,对应的关闭 CCS 并提供 <WORKSPACE FOLDER>/.metadata/.log 文件(附加到此线程)
该log最后的信息如下:
!ENTRY org.eclipse.cdt.core 4 0 2023-10-24 15:31:59.925
!MESSAGE Error
!STACK 0
java.nio.channels.ClosedByInterruptException
at java.base/java.nio.channels.spi.AbstractInterruptibleChannel.end(Unknown Source)
at java.base/sun.nio.ch.FileChannelImpl.endBlocking(Unknown Source)
at java.base/sun.nio.ch.FileChannelImpl.size(Unknown Source)
at org.eclipse.cdt.internal.core.parser.scanner.FileCharArray.create(FileCharArray.java:46)
at org.eclipse.cdt.internal.core.parser.InternalParserUtil.createFileContent(InternalParserUtil.java:245)
at org.eclipse.cdt.internal.core.parser.InternalParserUtil.createWorkspaceFileContent(InternalParserUtil.java:168)
at org.eclipse.cdt.core.parser.FileContent.create(FileContent.java:143)
at org.eclipse.cdt.internal.core.parser.SavedFilesProvider.getContentForInclusion(SavedFilesProvider.java:36)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor$1.checkFile(CPreprocessor.java:196)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor$1.checkFile(CPreprocessor.java:1)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor.findInclusion(CPreprocessor.java:1395)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor.executeInclude(CPreprocessor.java:1730)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor.executeDirective(CPreprocessor.java:1508)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor.internalFetchToken(CPreprocessor.java:972)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor.fetchToken(CPreprocessor.java:673)
at org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor.nextToken(CPreprocessor.java:771)
at org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser.fetchToken(AbstractGNUSourceCodeParser.java:292)
at org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser.nextToken(AbstractGNUSourceCodeParser.java:331)
at org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser.acceptInactiveCodeBoundary(AbstractGNUSourceCodeParser.java:392)
at org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser.declarationList(AbstractGNUSourceCodeParser.java:1390)
at org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser.parseTranslationUnit(AbstractGNUSourceCodeParser.java:1361)
at org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser.translationUnit(AbstractGNUSourceCodeParser.java:1356)
at org.eclipse.cdt.internal.core.dom.parser.AbstractGNUSourceCodeParser.parse(AbstractGNUSourceCodeParser.java:688)
at org.eclipse.cdt.core.dom.parser.AbstractCLikeLanguage.getASTTranslationUnit(AbstractCLikeLanguage.java:171)
at org.eclipse.cdt.internal.core.model.TranslationUnit.getAST(TranslationUnit.java:886)
at org.eclipse.cdt.internal.core.model.TranslationUnit.getAST(TranslationUnit.java:838)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.rtsc.xdctools.ui.contentassist.RTSCHelpProvider.getFunctionSummaries(Unknown Source)
at org.eclipse.rtsc.xdctools.ui.contentassist.RTSCHelpProvider.getFunctionInfo(Unknown Source)
at org.eclipse.rtsc.xdctools.ui.contentassist.RTSCHelpProvider.getFunctionInfo(Unknown Source)
at org.eclipse.cdt.internal.ui.text.CHelpSettings.getFunctionInfo(CHelpSettings.java:125)
at org.eclipse.cdt.internal.ui.CHelpProviderManager.getFunctionInfo(CHelpProviderManager.java:165)
at org.eclipse.cdt.internal.ui.text.c.hover.CDocHover.getHoverInfo(CDocHover.java:87)
at org.eclipse.cdt.internal.ui.text.c.hover.AbstractCEditorTextHover.getHoverInfo2(AbstractCEditorTextHover.java:84)
at org.eclipse.cdt.internal.ui.text.c.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:149)
at org.eclipse.cdt.internal.ui.text.c.hover.CEditorTextHoverProxy.getHoverInfo2(CEditorTextHoverProxy.java:85)
at org.eclipse.jface.text.TextViewerHoverManager$1.run(TextViewerHoverManager.java:155)
您好,
根据提供的日志信息,可以看出在CCS运行时发生了错误。具体错误信息如下:
java.nio.channels.ClosedByInterruptException at java.base/java.nio.channels.spi.AbstractInterruptibleChannel.end(Unknown Source) at java.base/sun.nio.ch.FileChannelImpl.endBlocking(Unknown Source) at java.base/sun.nio.ch.FileChannelImpl.size(Unknown Source) at org.eclipse.cdt.internal.core.parser.scanner.FileCharArray.create(FileCharArray.java:46)
根据错误信息,推测可能是由于某个文件被中断导致的问题。这可能与CCS的工作空间缓存有关。
为了解决这个问题,您可以尝试以下步骤:
1. 关闭CCS。
2. 删除工作空间中的`.metadata`文件夹。请确保在删除之前备份您的工作空间,以防数据丢失。
3. 重新启动CCS,并重新导入您的项目。
4. 尝试使用View->Expression来查看观察窗口,看是否问题已经解决。
您好
这个现象随着CCS的长时间使用,在expression里逐步添加变量,最后一定会稳定出现该现象
直接删除工作空间中的metadata文件夹可以解决该问题,但删除了之后expression里添加的所有变量又都没有了,又需要再重新添加
想咨询下这里还有其他的解决办法吗?expression里需要看的变量挺多,每次重新添加有点麻烦
您好,
这个问题可能是由于 Code Composer Studio 缓存或元数据文件损坏导致的。解决方案如下:
1. 清除 CCS 缓存:尝试清除 CCS 缓存,以便重新生成元数据文件。可以在 CCS 菜单中选择 "Window" -> "Preferences" -> "Code Composer Studio" -> "Build" -> "Output Parser",然后单击 "Clear Cache" 按钮。
2. 删除元数据文件夹中的特定文件:在删除整个 metadata 文件夹之前,可以尝试删除其中的特定文件,例如 "metadata/.metadata/.plugins/org.eclipse.cdt.make.core/specs.c"。这将强制 CCS 重新生成该文件,从而可能解决问题。
3. 更新 CCS 版本:如果您使用的是较旧的 CCS 版本,尝试更新到最新版本。新版本的 CCS 可能包含修复了该问题的更新。
4. 尝试使用其他表达式:如果您仍然无法解决问题,可以尝试使用其他表达式工具或方法,例如使用 CCS 的 "Expressions" 视图,或者使用 GDB 命令行调试器。
感谢回复,我回头再试一下
例如使用 CCS 的 "Expressions" 视图,或者使用 GDB 命令行调试器
请教下这里是用CCS的Expression视图是什么意思?出现了该问题后,我通过View->Expression想打开expression界面,但是没有expression弹出框(常规情况下是可以弹出expression窗口)
您好,
在 CCS 中,Expression 视图是一个用于查看和评估表达式的工具。它允许您在调试会话期间查看变量的值,执行表达式并监视表达式的结果。
通常,您可以通过选择 CCS 菜单中的 "Window" -> "Show View" -> "Expression" 打开 Expression 视图。然而,如果在您的情况下无法打开 Expression 视图,可能是由于其他问题导致的。
以下是一些可能的解决方案:
1. 检查 CCS 配置:确保您的 CCS 配置正确设置,以便正确显示 Expression 视图。您可以尝试重新启动 CCS,或者检查 CCS 的首选项设置,确保 Expression 视图已启用。
2. 检查 CCS 版本:如果您使用的是较旧的 CCS 版本,尝试更新到最新版本。新版本的 CCS 可能包含修复了该问题的更新。
3. 尝试其他调试工具:如果无法解决问题,您可以尝试使用其他调试工具来查看和评估表达式。例如,您可以使用 GDB 命令行调试器或其他集成开发环境(IDE)来执行类似的操作。