Я предполагаю, что вы хотите записать пользовательские данные, а не только выполненные строки (что, к сожалению, все, что вы получаете от PBDEBUG; я всегда хотел, чтобы пользовательские данные записывались в трассировку PBDEBUG, но я никогда не мог убедить кого-нибудь в Sybase добавить это к продукту).
PFC
PFC предлагает сервис отладки, который делает это, но если вы еще не создали свое приложение с PFC, может потребоваться умеренное усилие для его адаптации к вашей инфраструктуре. Если у вас есть приложение на основе PFC, все, что вам нужно сделать, это
of_SetDebug (TRUE)
в событии pfc_Open Менеджера приложений (или в другом подходящем месте), затем начните вводить код с
IF IsValid (gnv_App.inv_Debug) THEN gnv_App.inv_Debug.of_Message (...)
Таким образом, вы можете просто удалить of_SetDebug (), чтобы отключить обмен сообщениями, без необходимости удалять код всех сообщений. (Хорошо, теоретически это немного замедлит ваше приложение, проверяя, все ли время IsValid ().) Я даже вставил код, чтобы включить службу отладки с параметром командной строки (что я не рассказать пользователям о). Таким образом, я могу выполнить этот стиль устранения неполадок на рабочих станциях конечных пользователей (при условии, что я ожидал данные, которые мне нужно записать).
Другое
Если я застрял с приложением, отличным от PFC, боюсь, что я обычно слишком тороплюсь (читай: слишком ленив), чтобы адаптировать службу отладки PFC, поэтому я просто создаю глобальную функцию, которая выполняет FileOpen FileWrite и FileClose для жестко заданного имени файла, в котором записывается сообщение, переданное в качестве параметра. Затем я загружаю свой код с вызовами этой функции. Теоретически вы можете сделать эту функцию пустой, когда пришло время ее развертывать, но вместо этого я обычно удаляю все вызовы.