You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm debugging UE4 demo with GDB 7.10 from NDK R11B for Windows 64-bit connected to AARCH64 API23 target.
Sometimes, GDB responds with seemingly incorrect async MI result record after the target's execution is resumed by -exec-step command.
According to GDB MI documentation and GDB test suite I expect that in this case the MI result record should always contain a reason field: *stopped,reason="end-stepping-range"
This is also baked by changelog note
2009-02-14 Vladimir Prus vladimir@codesourcery.com
* lib/mi-support.exp (mi_expect_stop): Adjust the order of fields.
(mi_expect_interrupt): Likewise.
* gdb.mi/mi-cli.exp: Check that "step" results in proper *stopped
response.
and test cases defined in
binutils-gdb/gdb/testsuite/gdb.mi/mi-cli.exp
This stop without a reason behavior is irritating, because it doesn't fit into expected response pattern. Should the front-end treat a step request as successfully completed after receiving this notification record? This inconsistency requires additional and unnecessary decision-making logic on the front-end.
The func="FApp::IsGameNameEmpty" is defined in a header file and decorated with #define FORCEINLINE inline __attribute__ ((always_inline)) /* Force code to be inline */ FORCEINLINE static bool IsGameNameEmpty() { return (GInternalGameName[0] == 0); }
But the same attribute is applied to func="FString::FString" and func="operator+(FString const&, FString&&)" and yet for both of them GDB outputs the expected response *stopped,reason="end-stepping-range"
I'm debugging UE4 demo with GDB 7.10 from NDK R11B for Windows 64-bit connected to AARCH64 API23 target.
Sometimes, GDB responds with seemingly incorrect async MI result record after the target's execution is resumed by
-exec-step
command.According to GDB MI documentation and GDB test suite I expect that in this case the MI result record should always contain a reason field:
*stopped,reason="end-stepping-range"
This is also baked by changelog note
2009-02-14 Vladimir Prus vladimir@codesourcery.com
* lib/mi-support.exp (mi_expect_stop): Adjust the order of fields.
(mi_expect_interrupt): Likewise.
* gdb.mi/mi-cli.exp: Check that "step" results in proper *stopped
response.
and test cases defined in
binutils-gdb/gdb/testsuite/gdb.mi/mi-cli.exp
This stop without a reason behavior is irritating, because it doesn't fit into expected response pattern. Should the front-end treat a step request as successfully completed after receiving this notification record? This inconsistency requires additional and unnecessary decision-making logic on the front-end.
The text was updated successfully, but these errors were encountered: