Если так, то там используется нетипичная для нас сборочная система, так что через плагин в IDE запустить анализ не получится. Однако, при сборке проекта, как я понял, все же генерируется compile_commands.json, а значит можно запустить анализ напрямую из командной строки.
Для этого:
Соберите проект;
В случае Windows, перейдите в папку анализатора (по умолчанию: 'C:\Program Files (x86)\PVS-Studio'), где лежит CompilerCommandsAnalyzer.exe (исполняемый файл анализатора);
В случае Linux, имеется глобальная команда 'pvs-studio-analyzer';
Откройте терминал и выполните команду вида: '<CompilerCommandsAnalyzer.exe или pvs-studio-analyzer> analyze -f <путь_до_compile_commands.json> -o <путь_до_отчета_с_результатами>';
Не совсем так, сам объект 'WeakReference' разыменовывать вполне безопасно, т. к. на него существует сильная ссылка внутри 's_Instances'. 'WeakReference' - это своего рода обертка над объектом для которого вы хотите создать слабую ссылку. Сам же объект - это 'WeakReference.Target' и его то GC и может почистить в любой момент.
Привет, зависит от того, какой автомат используется в алгоритме. Проблема катастрофического возврата актуальна только для недетерминированных конечных автоматов.
Привет! В этой статье я сделал акцент на самой проблеме и принципах её обнаружения и исправления. Таким образом, я хотел поделиться опытом с теми разработчиками, кто как и я столкнулся с проблемой катастрофического возврата и хочет понять почему это произошло и как этого можно было-бы избежать. При этом я старался максимально абстрагироваться от подробностей о принципе работы какого-либо конкретного алгоритма.
Однако, мне действительно стоило упомянуть, что эта проблема актуальна только для алгоритмов, основанных на недетерминированном конечном автомате.
Подобное предупреждение уже исправлено в PVS-Studio (beta). В следующем релизе данное исправление также будет присутствовать. Если у вас есть ещё вопросы, то вы можете обратиться с ними в нашу поддержку.
Привет, речь про этот проект: https://github.com/FWGS/xash3d-fwgs?
Если так, то там используется нетипичная для нас сборочная система, так что через плагин в IDE запустить анализ не получится. Однако, при сборке проекта, как я понял, все же генерируется compile_commands.json, а значит можно запустить анализ напрямую из командной строки.
Для этого:
Соберите проект;
В случае Windows, перейдите в папку анализатора (по умолчанию: 'C:\Program Files (x86)\PVS-Studio'), где лежит CompilerCommandsAnalyzer.exe (исполняемый файл анализатора);
В случае Linux, имеется глобальная команда 'pvs-studio-analyzer';
Откройте терминал и выполните команду вида: '<CompilerCommandsAnalyzer.exe или pvs-studio-analyzer> analyze -f <путь_до_compile_commands.json> -o <путь_до_отчета_с_результатами>';
Ожидайте завершения анализа.
В команде запуска анализа можно указать и доп. аргументы, подробнее о них можно почитать тут: https://pvs-studio.ru/ru/docs/manual/0036/
После анализа отчет можно просмотреть с помощью плагина в вашей IDE.
Не совсем так, сам объект 'WeakReference' разыменовывать вполне безопасно, т. к. на него существует сильная ссылка внутри 's_Instances'. 'WeakReference' - это своего рода обертка над объектом для которого вы хотите создать слабую ссылку. Сам же объект - это 'WeakReference.Target' и его то GC и может почистить в любой момент.
Чтобы такое пятно превратилось в точку, пришлось бы отмасштабировать диаграмму так, что на ней стало бы сложно что-то разобрать :).
Именно такое впечатление складывается если посмотреть на количество установок стандартных Java расширений для VS Code:
https://marketplace.visualstudio.com/items?itemName=redhat.java (31,906,441 скачиваний);
https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-dependency (25,431,727 скачиваний).
Не-а
Привет, зависит от того, какой автомат используется в алгоритме. Проблема катастрофического возврата актуальна только для недетерминированных конечных автоматов.
Привет! В этой статье я сделал акцент на самой проблеме и принципах её обнаружения и исправления. Таким образом, я хотел поделиться опытом с теми разработчиками, кто как и я столкнулся с проблемой катастрофического возврата и хочет понять почему это произошло и как этого можно было-бы избежать. При этом я старался максимально абстрагироваться от подробностей о принципе работы какого-либо конкретного алгоритма.
Однако, мне действительно стоило упомянуть, что эта проблема актуальна только для алгоритмов, основанных на недетерминированном конечном автомате.
Подобное предупреждение уже исправлено в PVS-Studio (beta). В следующем релизе данное исправление также будет присутствовать. Если у вас есть ещё вопросы, то вы можете обратиться с ними в нашу поддержку.
PVS-Studio (beta) можно скачать здесь.