Аргументы командной строки для повышения UTF unit_test_main

У меня есть свой Boost Test Runner, где я передаю аргументы unit_test_main как это:

char *myargs[] = {"", "--log_level=test_suite", "report_level=detailed", "output_format=xml", "--run_test=my_manual_test_suite1,my_manual_test_suite2"};

Наборы тестов подобраны, тесты выполнены. Однако в конце выполнения моей программы я получаю повреждение памяти. Есть ли причина, почему?

Мой тестовый прогон представляет собой один файл cpp, в котором находятся все тестовые случаи, а также unit_test_main,

РЕДАКТИРОВАТЬ: я забыл добавить, что нет коррупции, если я передаю аргументы извне моей программы. Это странно

1

Решение

Можете поделиться еще кодом? Я хочу увидеть разницу, которую вы сделали, передавая аргументы локально и передавая их извне программы.

РЕДАКТИРОВАТЬ:

Хорошо, я думаю, у меня проблема. Когда вы передаете аргументы извне, они выкладываются последовательно. Например, допустим, вы звоните test.exe --log_level=all --run_test=mt1, Скажем, адрес первого аргумента 0x10000. Тогда адрес следующего арг --log_level=all начинается в 0x10009 и так далее. Когда вы сами записываете argv, это не так. Поэтому я предлагаю последовательно изложить аргументы, как указано выше, и попробовать.

0

Другие решения

Других решений пока нет …