Sysprogs forums › Forums › VisualGDB › Slow stepping. Here is why I think
- This topic has 20 replies, 3 voices, and was last updated 6 years, 11 months ago by support.
-
AuthorPosts
-
October 9, 2016 at 19:57 #9249BitFlipperParticipant
Hi,
It would be great to be able to experiment with such an extensibility API. I’m not familiar with the current API (I’m going to take a look to see what can currently be done), but would it be possible to have the thread requests go completely through this API? What I mean is currently the thread info is retrieved using multiple GDB commands. The plugin would need to have the ability to do this in one GDB command. And also be able to cache the thread info to eliminate multiple GDB commands being issued for the same thread info requests.
This is not critical though, since the stepping is now quite acceptable. However I think maybe in cases where users want to use the Threads/Parallel Stacks windows, or want to use the “Show Threads in Source” feature, the bt command could make even those have quite acceptable performance with many threads (~300 ms to get info on all threads). So it would be great if you can add this capability to the API.
October 21, 2016 at 02:35 #9320supportKeymasterHi,
No problem. We have added this to v5.3 roadmap and will post an update here once we have a preliminary version of the API available.
January 22, 2018 at 05:34 #13540kurtParticipantHi,
My multi-threaded program is facing a similar issue too. The problem that I have is with stepping over after a breakpoint hits. I will get an endless amount of
"=breakpoint-modified"
(sometimes, for hours) before it goes to the next statement.Any pointers on where I should look to provide more info? A simple hello-world program doesn’t produce the problem.
I am using VS 2017 with VGDB 5.3 R8
-break-after 2 0 -stack-list-frames --thread 2 -stack-list-arguments --thread 2 0 -stack-list-frames --thread 2 -stack-list-arguments --thread 2 0 -stack-list-frames --thread 1 -stack-list-arguments --thread 1 0 -stack-list-frames --thread 1 -stack-list-arguments --thread 1 0 -stack-list-frames --thread 2 -stack-list-arguments --thread 2 0 -stack-list-frames --thread 3 -stack-list-arguments --thread 3 0 -stack-list-frames --thread 3 -stack-list-arguments --thread 3 0 -stack-list-frames --thread 4 -stack-list-arguments --thread 4 0 -stack-list-frames --thread 4 -stack-list-arguments --thread 4 0 -stack-list-frames --thread 5 -stack-list-arguments --thread 5 0 -stack-list-frames --thread 5 -stack-list-arguments --thread 5 0 -stack-list-frames --thread 6 -stack-list-arguments --thread 6 0 -stack-list-frames --thread 6 -stack-list-arguments --thread 6 0 -stack-list-frames --thread 7 -stack-list-arguments --thread 7 0 -stack-list-frames --thread 7 -stack-list-arguments --thread 7 0 -stack-list-frames --thread 8 -stack-list-arguments --thread 8 0 -stack-list-frames --thread 8 -stack-list-arguments --thread 8 0 -stack-list-frames --thread 9 -stack-list-arguments --thread 9 0 -stack-list-frames --thread 9 -stack-list-arguments --thread 9 0 -stack-list-frames --thread 10 -stack-list-arguments --thread 10 0 -stack-list-frames --thread 10 -stack-list-arguments --thread 10 0 -stack-list-frames --thread 11 -stack-list-arguments --thread 11 0 -stack-list-frames --thread 11 -stack-list-arguments --thread 11 0 -stack-list-frames --thread 12 -stack-list-arguments --thread 12 0 -stack-list-frames --thread 12 -stack-list-arguments --thread 12 0 -stack-list-frames --thread 13 -stack-list-arguments --thread 13 0 -stack-list-frames --thread 13 -stack-list-arguments --thread 13 0 -stack-select-frame 0 -thread-select 2 -exec-next ^running *running,thread-id="all" =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="2",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="3",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="4",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="5",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="6",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="7",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="8",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="9",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="10",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="11",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="12",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="13",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="14",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="15",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="16",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="17",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="18",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="19",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="20",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="21",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="22",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="23",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="24",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="25",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="26",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="27",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="28",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="29",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="30",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="31",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="32",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="33",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="34",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="35",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="36",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="37",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="38",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="39",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="40",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="41",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="42",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="43",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="44",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="45",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="46",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="47",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="48",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="49",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="50",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="51",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="52",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="53",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="54",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="55",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="56",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="57",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="58",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="59",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="60",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="61",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="62",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="63",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="64",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="65",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="66",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="67",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="68",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="69",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="70",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="71",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="72",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="73",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="74",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="75",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="76",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="77",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="78",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="79",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="80",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="81",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="82",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="83",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="84",original-location="/build/linux/myFile.cpp:5880"} =breakpoint-modified,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x001e7360",func="myfunction(unsigned char, int, char const*)",file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5880",thread-groups=["i1"],times="85",original-location="/build/linux/myFile.cpp:5880"} *stopped,reason="end-stepping-range",frame={addr="0x001e736c",func="myfunction",args=[{name="updateSaveViews",value="1 '\\001'"},{name="menuVal",value="10"},{name="inFullFileName",value="0x0"}],file="/build/linux/myFile.cpp",fullname="/build/linux/myFile.cpp",line="5881"},thread-id="2",stopped-threads="all",core="0" -break-after 2 0 -stack-list-frames --thread 2 -stack-list-arguments --thread 2 0 -stack-list-frames --thread 2 -stack-list-arguments --thread 2 0 -stack-list-frames --thread 1 -stack-list-arguments --thread 1 0 -stack-list-frames --thread 1 -stack-list-arguments --thread 1 0 -stack-list-frames --thread 2 -stack-list-arguments --thread 2 0 -stack-list-frames --thread 3 -stack-list-arguments --thread 3 0 -stack-list-frames --thread 3 -stack-list-arguments --thread 3 0 -stack-list-frames --thread 4 -stack-list-arguments --thread 4 0 -stack-list-frames --thread 4 -stack-list-arguments --thread 4 0 -stack-list-frames --thread 5 -stack-list-arguments --thread 5 0 -stack-list-frames --thread 5 -stack-list-arguments --thread 5 0 -stack-list-frames --thread 6 -stack-list-arguments --thread 6 0 -stack-list-frames --thread 6 -stack-list-arguments --thread 6 0 -stack-list-frames --thread 7 -stack-list-arguments --thread 7 0 -stack-list-frames --thread 7 -stack-list-arguments --thread 7 0 -stack-list-frames --thread 8 -stack-list-arguments --thread 8 0 -stack-list-frames --thread 8 -stack-list-arguments --thread 8 0 -stack-list-frames --thread 9 -stack-list-arguments --thread 9 0 -stack-list-frames --thread 9 -stack-list-arguments --thread 9 0 -stack-list-frames --thread 10 -stack-list-arguments --thread 10 0 -stack-list-frames --thread 10 -stack-list-arguments --thread 10 0 -stack-list-frames --thread 11 -stack-list-arguments --thread 11 0 -stack-list-frames --thread 11 -stack-list-arguments --thread 11 0 -stack-list-frames --thread 12 -stack-list-arguments --thread 12 0 -stack-list-frames --thread 12 -stack-list-arguments --thread 12 0 -stack-list-frames --thread 13 -stack-list-arguments --thread 13 0 -stack-list-frames --thread 13 -stack-list-arguments --thread 13 0
January 23, 2018 at 06:47 #13552supportKeymasterHi,
The “breakpoint-modified” message simply means that a breakpoint was either bound or unbound when a module containing the corresponding code was loaded/unloaded. Normally it should not reduce debugging speed.
You can try enabling diagnostic GDB logs on the Advanced GDB Settings page of VisualGDB Project Properties – the advanced gdb logs contain timestamps for each line received from gdb and allow understanding the timing.
It also looks like VisualGDB is querying stack traces for all threads in your example – this could considerably slow down stepping through the code. Please try closing the “threads” window in Visual Studio and VisualGDB will only query the stack trace for the current thread.
January 23, 2018 at 08:06 #13559kurtParticipantThanks for the feedback.
I did try to close all the windows (leaving only the source code), but it is still happening. That flurry of “breakpoint-modified” seems to typically appear on stepping through the first command after the breakpoint hits. The wait for stepping-through to complete for hours is just too long.
I have also tried the log, but it didn’t give any other information besides the timestamps.
Unfortunately, I’m not familiar enough with gdb to spot what is wrong, and rely entirely on VisualGDB for my transition to Linux.
Occasionally, I will get this:
../../../gdb-7.12.1/gdb/gdbserver/linux-low.c:2627: A problem internal to GDBserver has been detected. int maybe_hw_step(thread_info*): Assertion `has_reinsert_breakpoints (thread)' failed.
Does that provide any helpful hints?
January 24, 2018 at 07:02 #13582supportKeymasterHi,
If closing all windows doesn’t help, please also ensure you don’t have the “show threads in source” option enabled. It would also result in Visual Studio querying all VisualGDB threads.
If you are not sure how to interpret the log file to find the critical paths from the timing perspective, please feel free to attach the log here (or send it to our support email) and we can check it for common problems.
The error message you mentioned looks like a gdb/gdbserver bug. Trying a different version of gdb might solve this.
-
AuthorPosts
- You must be logged in to reply to this topic.