Ограничения размера файла для файлов CHM (формат справки HTML)?

2102
Monica Cellio

Мы используем Microsoft Help Help Workshop, в частности hhc.exe, для сборки файла CHM, содержащего документацию в формате HTML. Официально нет никаких ограничений на размер файла CHM, но, поскольку наш набор документов увеличился в размере, мы получаем все больше и больше сбоев сборки. Сообщения об ошибках невелики, но, похоже, у нас заканчивается память; Однако увеличение памяти не имеет значения. (В последние недели набор документов увеличился примерно на 25%; мы попытались удвоить память.)

Наш файл CHM имеет размер 12 МБ, что не кажется большим. Можем ли мы настроить это, или мы достигли неофициальных пределов возможностей этого инструмента, по крайней мере, на 32-битной машине?

Отредактировано, чтобы добавить:

Полученная ошибка - это всплывающее окно со следующим текстом:

hhc.exe - Ошибка приложения [X] Инструкция в «0x453217d8» ссылалась на память в «0x ########».  память не может быть «прочитана». Нажмите кнопку ОК, чтобы завершить программу. Нажмите ОТМЕНА, чтобы отладить программу. [OK] [Отмена] 

Мы запускаем это из автоматической сборки, которая вызывает цель Ant, которая использует <exec> для вызова hhc.exe. Машина для сборки работает под управлением Windows Server 2003 и имеет 4 ГБ памяти.

Мета-вопрос: мой первоначальный вопрос о размере файла был дан ответ; что я должен сделать с этим продолжением, которое явилось результатом комментариев? Повторите вопрос? Принять ответ на оригинальный вопрос? Как вы можете видеть из моего представителя, я новичок здесь.

2

3 ответа на вопрос

2
Keltari

«Битность» машины не имеет ничего общего с этим процессом. Битность относится к объему памяти, который процессор может адресовать. 32-битные машины могут адресовать 4 ГБ памяти, гораздо больше, чем вам нужно для этого. И даже, если вам нужно больше, машина будет просто страница памяти. Что замедлит процесс, но не помешает ему работать.

Я только что скачал и установил Microsoft Help Help Workshop и смог декомпилировать и перекомпилировать несколько файлов CHM более 15 МБ, включая 25 МБ. Проблема, скорее всего, связана с тем, что вызывает проблемы на компьютере, например, со сканером вирусов. Попробуйте отключить любые антивирусные сканеры перед компиляцией. Вы пробовали компилировать CHM на другой машине? И почему вы думаете, что у вас заканчивается память?

Мы получаем недетерминированную ошибку памяти (память не может быть прочитана), только на некоторых машинах и только в некоторых случаях. Мы попытались выделить процессу 1 ГБ памяти (обычно 512 МБ); Я попросил сборщика дать ему 2 ГБ, чтобы посмотреть, что получится. Разве 2 ГБ не является функциональным пределом на 32-битной машине? Если мы закомментируем часть набора документов, то этого не произойдет, но затем, если мы восстановим это и закомментируем какой-то * другой * фрагмент, то это будет верно, предполагая, что это не проблема в самом контенте. Monica Cellio 12 лет назад 0
Спасибо за данные о размерах файлов! Похоже, общий размер здесь не наша проблема. На какой платформе вы тестировали? Monica Cellio 12 лет назад 0
Я проверил это на Win 7 32 с 2 ГБ оперативной памяти. На машине нет другого установленного программного обеспечения, так как это была новая установка. Не могли бы вы предоставить * точную * ошибку? Keltari 12 лет назад 0
Не беспокойтесь о проблемах с оборудованием. Я уверен, что это проблема программного обеспечения, а не оборудования. Keltari 12 лет назад 0
Я добавил ошибку в вопрос (получая подробный комментарий). Monica Cellio 12 лет назад 0
странно, просто куча хешей. Вы пробовали отключить антивирусную защиту? Keltari 12 лет назад 0
нам не разрешено отключать антивирусное программное обеспечение. :-( Но другие, более мелкие сборки с использованием этого инструмента, кажется, работают, чего бы это ни стоило. Monica Cellio 12 лет назад 0
Ну, честно говоря, я не думаю, что это аппаратная проблема, так как я могу сделать это на аналогичном оборудовании. Я думаю, это проблема программного обеспечения с вашими машинами. Попросите системного администратора развернуть виртуальную машину, установить программное обеспечение CHM и попробовать его. Могу поспорить, что это работает. Keltari 12 лет назад 0
2
Craig Foot

I was having a similar issue with the HTML Help Workshop failing to compile my CHM, and my CHM was also about 12MB. It was providing the error message:

HTML Help Workshop: hhw.exe - Fatal Application Exit [X] There is not enough memory available for this task. Quit one or more programs to increase available memory, and then try again. [OK] 

I was checking the logged output for the build process, and saw that in my index file there were too many topics assigned to a single keyword.

In this case, the build was working when a particular keyword had 7132 topics associated with it, but the build was failing when 7140 topics were assigned to that same keyword.

I removed the keyword from the index, and my CHM compiled successfully. This means that it looks like there is a limit on the number of topics that can be associated with a keyword -- I didn't find any reference in the documentation as to what this limit might be, but maybe my experience can help others.

I realise that assigning over 1000 topics to a particular keyword starts to defeat the point of an index anyway, and isn't a good idea!

Не могли бы вы дать больше ясности о том, как вы удалили ключевое слово из индекса? checho 9 лет назад 0
Индекс определяется файлом .hhk в проекте CHM. Удалите записи, относящиеся к теме, из этого файла (либо вручную, отредактировав текстовый файл, либо остановите их получение в первую очередь при любом процессе сборки файла .hhk). Craig Foot 7 лет назад 0
0
surfasb

Из-за непоследовательного характера ошибки вы исключили возможность установки поврежденного программного обеспечения?

Я бы протестировал код на новой установке.

Хорошее предложение. Мы уже сделали новую установку используемой версии (1.3), а затем установили последний патч (1.33) на случай, если это решит проблему. Неудачно. Monica Cellio 12 лет назад 0