OutputDebugString + DebugView = не вкладки!

Я сбрасываю данные \t с разделителями, используя OutputDebugString, а затем использую ex-Sysinternals DebugView для их захвата.

Проблема в том, что все данные в DebugView кажутся разделенными пробелами, поэтому мне нужно выполнить CTRL+H "\x20" "t", чтобы заменить пробелы символами табуляции, прежде чем я смогу их использовать (мне действительно нужны данные с разделителями табуляции).

Есть ли какой-либо способ сказать DebugView не заменять вкладки пробелами? Или, может быть, есть лучший инструмент для захвата вывода функции OutputDebugString?

Любые идеи очень приветствуются!

4 ответа

Решение

Кажется, это "особенность" в DebugView. Я пытался с Ху Wintail, и этот чувак без проблем собирает вкладки. Итак, я вижу 3 решения:

  1. Вы получаете Ху Винтейл (настоятельно рекомендуется)
  2. Вы пишете свой инструмент (ищите здесь некоторую идею, как это сделать или даже получите полную)
  3. Вы перенаправляете в файл.

Я решительно голосую за вариант 1.

Почему бы не записать их в локальный лог-файл? (только в режиме отладки?)

Вы можете использовать несколько пробелов вместо табуляции.

DebugOutput и DebugView предназначены для ситуаций, подразумеваемых их именем: debug. Они не предназначены для замены функции сохранения файла.

Вы, вероятно, находитесь в ситуации, когда анализ выходных данных отладки означает анализ формата с разделителями табуляции. Найдите другой символ, который можно использовать вместо табуляции, например | или @ или ^. Затем откройте выходные данные отладки в расширенном редакторе (например, UltraEdit) и преобразуйте символ обратно в Tab.

Другие вопросы по тегам