{"record":{"id":"7f480ae52dc85b19","repo":"alibaba/arthas","slug":"argument-s-is-are-expected-type-help-tt-to-rea","errorCode":null,"errorMessage":"Argument(s) is/are expected, type 'help tt' to read usage","messagePattern":"Argument\\(s\\) is/are expected, type 'help tt' to read usage","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/taobao/arthas/core/command/monitor200/TimeTunnelCommand.java","lineNumber":271,"sourceCode":"        // 检查d/p参数是否有i参数配套\n        if ((isDelete || isPlay) && null == index) {\n            throw new IllegalArgumentException(\"Time fragment index is expected, please type -i to specify\");\n        }\n\n        // 在t参数下class-pattern,method-pattern\n        if (isTimeTunnel) {\n            if (StringUtils.isEmpty(classPattern)) {\n                throw new IllegalArgumentException(\"Class-pattern is expected, please type the wildcard expression to match\");\n            }\n            if (StringUtils.isEmpty(methodPattern)) {\n                throw new IllegalArgumentException(\"Method-pattern is expected, please type the wildcard expression to match\");\n            }\n        }\n\n        // 一个参数都没有是不行滴\n        if (null == index && !isTimeTunnel && !isDeleteAll && StringUtils.isEmpty(watchExpress)\n                && !isList && StringUtils.isEmpty(searchExpress)) {\n            throw new IllegalArgumentException(\"Argument(s) is/are expected, type 'help tt' to read usage\");\n        }\n    }\n\n    /*\n     * 记录时间片段\n     */\n    int putTimeTunnel(TimeFragment tt) {\n        int indexOfSeq = sequence.getAndIncrement();\n        timeFragmentMap.put(indexOfSeq, tt);\n        return indexOfSeq;\n    }\n\n    @Override\n    public void process(final CommandProcess process) {\n        // 检查参数\n        checkArguments();\n\n        // ctrl-C support","sourceCodeStart":253,"sourceCodeEnd":289,"githubUrl":"https://github.com/alibaba/arthas/blob/21cf2e9ba52b305290be7223b980ff504bb9cb5b/core/src/main/java/com/taobao/arthas/core/command/monitor200/TimeTunnelCommand.java#L253-L289","documentation":"Thrown by checkArguments() in the `tt` command when none of the meaningful options are supplied: no index, not record mode (-t), not delete-all, no watch expression, not list (-l), and no search expression. The command needs at least one action argument to know what to do.","triggerScenarios":"Running a bare `tt` with no options at all.","commonSituations":"Typing `tt` expecting a menu or default action; piping an empty argument set; alias misconfiguration that drops all flags.","solutions":["Add at least one action option, e.g. `tt -l` to list, `tt -t ...` to record, or `tt -i <index>` to show a fragment.","Run `tt --help` (or `help tt`) to see supported actions."],"exampleFix":"// before\ntt\n// after\ntt -l","handlingStrategy":"validation","validationCode":"if (index == null && !isTimeTunnel && !isDeleteAll\n        && StringUtils.isEmpty(watchExpress) && !isList\n        && StringUtils.isEmpty(searchExpress)) {\n    fail(\"tt needs at least one action argument\");\n}","typeGuard":"null","tryCatchPattern":"null","preventionTips":["Always pass at least one action option to tt.","When unsure, start with `tt -l`."],"tags":["arthas","tt-command","required-argument","cli"],"backgroundTag":null,"analyzedSha":"21cf2e9ba52b305290be7223b980ff504bb9cb5b","analyzedAt":"2026-08-14T00:57:07.243Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}