Я пытаюсь выполнить какой-либо анализ исходного кода * stati c, цель состоит в том, чтобы найти метод вызывающего root данного метода. У меня есть список из 100+ методов из уровня DAL, и я хочу отобразить все конечные точки API, которые вызывают эти методы.
Я видел, что O может использовать для этого codeQL .. с рекурсивным запросом к списку методов Замедление Я пытаюсь создать базу данных из моего файла SLN, и после того, как все завершение завершено, я получаю это:
[2020-03-29 19:46:33] [build] 17731 Warning(s)
[2020-03-29 19:46:33] [build] 0 Error(s)
[2020-03-29 19:46:33] [build] Time Elapsed 00:08:54.59
[2020-03-29 19:46:33] [build] Exit code 0
[2020-03-29 19:46:33] [build] Running cmd.exe /C C:\Code\codeql\tools\win64\java\bin\java -jar C:\Code\codeql\csharp\tools\extractor-asp.jar .
[2020-03-29 19:46:35] [build] Exit code 0
Finalizing database at C:\Code\codeql\be-core.
[2020-03-29 19:46:36] [build-err] A fatal error occurred: xml extractor C:\Code\codeql\xml does not provide file-indexing capabilities.
Successfully created database at C:\Code\codeql\be-core.
хорошо, это говорит, что это было успешно, поэтому я попытался выполнить запрос, но я получаю ошибка
resolving database failed: A fatal error occurred: c:\Code\codeql\be-core is not a recognized CodeQL database.
[2020-03-29 19:52:03] Exception caught at top level: c:\Code\codeql\be-core is not a recognized CodeQL database.
com.semmle.cli2.database.DatabaseLayout.<init>(DatabaseLayout.java:153)
com.semmle.cli2.database.DatabaseLayout.load(DatabaseLayout.java:114)
com.semmle.cli2.resolve.ResolveDatabaseCommand.executeJSON(ResolveDatabaseCommand.java:53)
com.semmle.cli2.resolve.ResolveDatabaseCommand.executeJSON(ResolveDatabaseCommand.java:17)
com.semmle.cli2.picocli.SimpleJsonSubcommand.executeInsistingOnJSON(SimpleJsonSubcommand.java:99)
com.semmle.cli2.picocli.SimpleJsonSubcommand.executeSubcommand(SimpleJsonSubcommand.java:77)
com.semmle.cli2.picocli.SubcommandCommon.executeWithParent(SubcommandCommon.java:367)
com.semmle.cli2.execute.CliServerCommand.lambda$executeSubcommand$0(CliServerCommand.java:55)
com.semmle.cli2.picocli.SubcommandMaker.runMain(SubcommandMaker.java:174)
com.semmle.cli2.execute.CliServerCommand.executeSubcommand(CliServerCommand.java:55)
com.semmle.cli2.picocli.SubcommandCommon.call(SubcommandCommon.java:383)
com.semmle.cli2.picocli.SubcommandMaker.runMain(SubcommandMaker.java:174)
com.semmle.cli2.picocli.SubcommandMaker.runMain(SubcommandMaker.java:182)
com.semmle.cli2.CodeQL.main(CodeQL.java:89)
также, если вы можете предложить другой способ отслеживания root вызывающего абонента из 100 разных, я был бы очень рад услышать ...