Что сделать, когда имя свойства соответствует имени класса

Fortify SCA занимает много памяти для сканирования средних и крупных приложений.

Вокруг строки 13 в вашем примере удалите «fortifyMemory: '-Xmx1G -Xms600M -Xss24M -mt',".

Вокруг строки 17, если возможно, увеличьте объем памяти до «-Xmx16G» (или что-либо еще). По сути, продолжайте бросать больше памяти на проблему до тех пор, пока предупреждение / ошибка «Недостаточно памяти» от Fortify не исчезнет.

Кроме того, ...

Объяснение того, что может происходить

Опция Fortify SCA '-mt' означает, что вы хотите включить режим параллельного анализа, который предназначен, чтобы попытаться ускорить сканирование вашего Исходный код путем создания нескольких подчиненных процессов, чтобы помочь со сканированием. С помощью '-mt' Fortify автоматически создаст 1 подчиненный процесс для каждого ядра процессора на вашем хосте, а из-за вашего '-Xmx1GB' Fortify выделит 1 ГБ памяти для каждого процесса. Таким образом, ошибка, которую вы видите, может быть вызвана тем, что одному или нескольким ведомым не хватает памяти.

Заключение

Для этого начального сканирования не используйте режим параллельного анализа. Вот почему мы удаляем строку 13 в вашем примере. Кроме того, у вас снова есть параметры конфигурации дубликатов памяти в строке 17. После того, как вы можете успешно выполнить сканирование, попробуйте набрать назад объем памяти и затем попытаться воспроизвести в режиме параллельного анализа. При использовании режима параллельного анализа формула для определения того, сколько памяти можно выделить с помощью '-Xmx', может быть: (- 2 ГБ) / < # ядер ЦП>

14
задан davogones 23 April 2013 в 11:25
поделиться

5 ответов

Это кажется, что у Вас есть тяжелая проблема, если Вы уже получили веб-сервис там с проблематичным именем. Если Вы ничего не можете изменить, не повреждая существующих клиентов, и Вы не можете оставить его, как это, не повреждая Flex, чей-то попытка быть поврежденным.

Вы могли потенциально выставлять параллельный API в другом URL. Я согласился бы с предложением shahkalpesh, Добираются/Методы установки, где свойства были бы проблематичны. Хорошая вещь об этом состоит в том, что можно принять решение однажды и затем быть последовательными вместо того, чтобы должными быть думать об этом каждый раз. Это также означает, что можно, вероятно, автоматизировать создание второго API на основе первого.

4
ответ дан 1 December 2019 в 16:53
поделиться

Я думаю, что лучшее решение, осуществляют рефакторинг Ваш проект переименовать объектный Проект к чему-то еще WnProject, ProjectBase или что-то еще соответствующее для того, какой точно проекта.

Это - Ваш API, любой использующий его должен понять, что возможно иметь повреждающиеся изменения, поставленные, это - стоимость того, чтобы быть зависящим от внешних источников.

2
ответ дан 1 December 2019 в 16:53
поделиться

Как насчет старых добрых методов? (GetProject/SetProject ИЛИ путь .NET делают это - Поток. CurrentThread)

0
ответ дан 1 December 2019 в 16:53
поделиться

Хотя это действительно не помогает для внешних языков, возможно исказить пространства имен (предварительно суммирующий класс Проект, находится в пространстве имен различия к классу со свойством Project), как так:

using ns = MyProject.Namespace;

Затем просто необходимо сделать:

var newProject = new ns.Project();
-1
ответ дан 1 December 2019 в 16:53
поделиться

WTF имеет название переменной на одном языке, полученном, чтобы сделать с веб-сервисом?

Кто-то должен быть действительно ленивым в их XML, связывающем для деталей реализации, которые будут выставлены на проводе.

смысл WSDL/SOA - то, что у Вас есть спецификация для сообщения, которое независимо от реализации. Если Вы генерируете спецификации сообщения от исходного кода или генерируете источник от спецификаций, не допуская изменение сгенерированных объектов, Вы заканчиваете с сильно связанными системами. Один признак этого плотного соединения получает имена переменной/свойства, которые не являются легальными идентификаторами. Сервис (а не RPC) не сильно связывается. Вам не придется варьироваться Ваша реализация услуги для питания реализацию сервиса - если Вы имеете к, что-то в Вашем стеке повреждается. Это идет для членских переменных/свойств, а также методов.

-3
ответ дан 1 December 2019 в 16:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: