@@ -2728,6 +2728,12 @@ class DevtoolIdeSdkTests(DevtoolBase):
gdb_batch_cmd += " -ex 'print CppExample::test_string.compare(\"cpp-example-lib %s\")'" % magic_string
gdb_batch_cmd += " -ex 'print CppExample::test_string.compare(\"cpp-example-lib %saaa\")'" % magic_string
gdb_batch_cmd += " -ex 'list cpp-example-lib.hpp:14,14'"
+
+ # check if resolving std::vector works with python scripts
+ gdb_batch_cmd += " -ex 'list cpp-example.cpp:55,55'"
+ gdb_batch_cmd += " -ex 'break cpp-example.cpp:55'"
+ gdb_batch_cmd += " -ex 'continue'"
+ gdb_batch_cmd += " -ex 'print numbers'"
gdb_batch_cmd += " -ex 'continue'"
return gdb_batch_cmd
@@ -2737,6 +2743,11 @@ class DevtoolIdeSdkTests(DevtoolBase):
self.assertIn("$2 = -3", gdb_output) # test.string.compare longer
self.assertIn(
'inline static const std::string test_string = "cpp-example-lib %s";' % magic_string, gdb_output)
+
+ # check if resolving std::vector works with python scripts
+ self.assertRegex(gdb_output, r"55\s+std::vector<int> numbers = \{1, 2, 3\};")
+ self.assertIn("$3 = std::vector of length 3, capacity 3 = {1, 2, 3}", gdb_output)
+
self.assertIn("exited normally", gdb_output)
def _gdb_cross_debugging_multi(self, qemu, recipe_name, example_exe, magic_string):