Comments 5
Проверил первый совет применительно к c#. Работает )
static void PrintDebugMessage(string message)
{
var frame = new StackFrame(1, true); // Уходим на уровень выше?
var file = frame.GetFileName();
var line = frame.GetFileLineNumber();
Debug.WriteLine(string.Format("{0}: {1}", file, message)); // Переход к файлу
Debug.WriteLine(string.Format("{0}({1}): {2}", file, line, message)); // Переход к строке
}
0
В свое время, когда надо было отлавливать много всяких событий мыши — mouseover, dragover и т.д., просто запускал свое приложение под отладчиком на виртуальной машине, и подключался к нему снаружи. Тогда было легко ходить по шагам и делать что угодно, при этом приложение думало что мышь не двигается.
0
Наверное, правильнее было назвать статью «11 советов, которые помогут сэкономить время при отладке программ в Visual Studio.»
+1
На сколько я помню, в таком случае:
#define MY_TRACE(msg, ...)
MyTrace(__LINE__, __FILE__, msg, __VA_ARGS__)
__LINE__ и __FILE__ могу развернуться раньше, чем MY_TRACE. И тогда, во всех логах будет указана одна и та же строка и имя файла: место, где был объявлен MY_TRACE.
Поправьте меня, если я не прав.
#define MY_TRACE(msg, ...)
MyTrace(__LINE__, __FILE__, msg, __VA_ARGS__)
__LINE__ и __FILE__ могу развернуться раньше, чем MY_TRACE. И тогда, во всех логах будет указана одна и та же строка и имя файла: место, где был объявлен MY_TRACE.
Поправьте меня, если я не прав.
0
Sign up to leave a comment.
11 советов, которые помогут сэкономить время при отладке программ