Разделить информацию об отладке Windows DLL?

Попробуйте этот пакет реагировать-распознавания речи

   import React, { PropTypes, Component } from 'react'
   import SpeechRecognition from 'react-speech-recognition'

    const propTypes = {
      // Props injected by SpeechRecognition
      transcript: PropTypes.string,
      resetTranscript: PropTypes.func,
      browserSupportsSpeechRecognition: PropTypes.bool
    }

    class Dictaphone extends Component {
      render() {
        const { transcript, resetTranscript, browserSupportsSpeechRecognition } = this.props

        if (!browserSupportsSpeechRecognition) {
          return null
        }

        return (
          
{transcript}
) } } Dictaphone.propTypes = propTypes export default SpeechRecognition(Dictaphone)

6
задан DGentry 9 October 2008 в 18:44
поделиться

3 ответа

Вы захотите получить версии выпуска от разработчиков, даже если это будет боль, потому что отладочные версии по умолчанию компилируются с отключенной оптимизацией кода. Таким образом, даже если бы Вы так или иначе разделили отладочную информацию, которую Вам оставили бы с кодом, это не так эффективно, как это могло быть. (Не говоря уже о любых прерываниях отладки и сообщениях мог бы быть там.)

До определения, какое DLL Вы имеете, Вы могли использовать Зависимость Walker, чтобы видеть, связан ли Ваш DLL с отладочной версией или версией выпуска библиотеки времени выполнения VC (предполагающий, что те библиотеки статически не связаны.)

3
ответ дан 8 December 2019 в 16:13
поделиться

Переосновой является часть набора инструментов Microsoft. В дополнение к установке базового адреса для dlls это может разделить любую приложенную информацию об отладке в отдельный .dbg файл.

переосновной-i 0x10000000-a-x.\-p

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

5
ответ дан 8 December 2019 в 16:13
поделиться

Обычно сама информация об отладке создается как отдельное *.pdb файл (Программа DataBase), вместо того, чтобы быть добавленным на двоичный файл как в Unix. Если бы разработчики действительно создавали отладочную версию библиотеки, то более серьезной проблемой могла бы быть более серьезная проблема зависимостей. Если версия выпуска двоичного файла связывается с MSVCRT.DLL, затем отладочная сборка связалась бы с MSVCRTD.DLL (другие библиотеки времени выполнения так же называют с суффиксом D). Для нахождения зависимостей для конкретного двоичного файла попробуйте:

dumpbin /imports whatever.dll

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

5
ответ дан 8 December 2019 в 16:13
поделиться
Другие вопросы по тегам:

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