From ed81be16b3fa9c274dfcd3d53177fce81597b0e8 Mon Sep 17 00:00:00 2001 From: lethosor Date: Wed, 11 May 2016 17:52:10 -0400 Subject: [PATCH] Improve logging of vtable interpose errors --- library/VTableInterpose.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/library/VTableInterpose.cpp b/library/VTableInterpose.cpp index 1184865ac..eb8dec861 100644 --- a/library/VTableInterpose.cpp +++ b/library/VTableInterpose.cpp @@ -24,6 +24,7 @@ distribution. #include "Internal.h" +#include #include #include #include @@ -414,7 +415,11 @@ bool VMethodInterposeLinkBase::apply(bool enable) if (is_applied()) return true; if (!host->vtable_ptr) + { + std::cerr << "VMethodInterposeLinkBase::apply(" << enable << "): " << name() + << ": no vtable pointer: " << host->getName() << endl; return false; + } // Retrieve the current vtable entry VMethodInterposeLinkBase *old_link = host->interpose_list[vmethod_idx]; @@ -440,6 +445,7 @@ bool VMethodInterposeLinkBase::apply(bool enable) } else if (!host->set_vmethod_ptr(patcher, vmethod_idx, interpose_method)) { + std::cerr << "VMethodInterposeLinkBase::apply(" << enable << "): " << name() << ": set_vmethod_ptr failed" << endl; set_chain(NULL); return false; }