Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IL2CPP debugger fixes for working with Unity players #772

Merged
2 commits merged into from
Jan 2, 2018

Conversation

ghost
Copy link

@ghost ghost commented Dec 21, 2017

  • Ignoring setp_out sequence points when searching for sequence points that don't correspond to step_out requests.
  • Not returning step_out sequence points when retrieving method debug info. The step out sequence points have the same offset as other sequence points, but different line numbers.
  • Hardened the il2cpp_mono_free_method_signatures() function against multiple calls by setting the method_signatures hash table to null after it is cleared.
  • The isActive field in Il2CppSequencePoint should be a uint8_t, not a bool, as it gets incremented. I think this change was made in the previous C-only type for this struct but not propagated to the C++ version, which is the only version we use now.

* Ignoring setp_out sequence points when searching for sequence points that don't correspond to step_out requests.
* Not returning step_out sequence points when retrieving method debug  info.  The step out sequence points have the same offset as other sequence points, but different line numbers.
* Hardened the il2cpp_mono_free_method_signatures() function against multiple calls by setting the method_signatures hash table to null after it is cleared.
* The isActive field in Il2CppSequencePoint should be a uint8_t, not a bool, as it gets incremented.  I think this change was made in the previous C-only type for this struct but not propagated to the C++ version, which is the only version we use now.
@ghost ghost requested review from joncham and mderoy December 21, 2017 22:33
@@ -12046,10 +12071,10 @@ unity_process_breakpoint_inner(DebuggerTlsData *tls, gboolean from_signal, Il2Cp
inst = (BreakpointInstance *)g_ptr_array_index(bp->children, j);
if (inst->il_offset == sequencePoint->ilOffset) {
if (bp->req->event_kind == EVENT_KIND_STEP) {
for (int j = 0; j < bp->children->len; ++j)
for (int k = 0; j < bp->children->len; ++k)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You want j < bp->children->len?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Grrr, I mean k < bp->children->len

@ghost ghost merged commit 37ff3f5 into unity-master-staging Jan 2, 2018
@ghost ghost deleted the il2cpp-debugger-unity-fixes branch January 2, 2018 16:52
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants