我在visual studio 2012中编写了一个c ++ dll。我想在使用function uubba_cms_players_page(){
global $wpdb;
//get the players information needed
$getinfo = $wpdb->get_results("SELECT username FROM uubba_userstats");
$output = '<style>';
$output .= '.uubbahr{margin:25px 0px;}';
$output .= '.uubba-button-green,.uubba-button-green:visited{padding:8px 14px;background-color:#8FE485;color:white;}';
$output .= '.uubba-button-green:hover{background-color:#79DC6E;color:white;}';
$output .= '.uubba-button-red,.uubba-button-red:visited{padding:8px 14px;background-color:#F56A6A;color:white;}';
$output .= '.uubba-button-red:hover{background-color:#E34747;color:white;}';
$output .= '<style>';
$output .= '<div class="wrap">';
$output .= '<h1>Check My Stats Players</h1>';
$output .= '<hr class="uubbahr">';
$output .= '<table>';
$output .= '<tr>';
$output .= '<th scope="col"><h5 class="font12">Users Name</h5></th>';
$output .= '<th scope="col"><h5 class="font12">Actions</h5></th>';
$output .= '</tr>';
foreach($getinfo as $gi){
$output .= '<tr>';
$output .= '<td><h3>'.$gi->username.'</h3></td>';
$output .= '<td><a href="#" class="uubba-button-green">View Statistics</a> <a href="#" class="uubba-button-red">Delete User</a></td>';
$output .= '</tr>';
}
$output .= '</table>';
$output .= '</div>';
echo $output;
}
函数的C#程序(VS2012)中加载它。
我设置LoadLibrary
以获取SetLastError = true
的概率返回错误代码。当我运行我的C#程序时,我总是收到998错误代码,但我无法理解它有什么问题!
你能帮我解决这个问题吗?
任何帮助,将不胜感激。
(应该提到的是,我看到一些关于错误代码998的帖子,但没有一个不能给我一个解决方案。)
答案 0 :(得分:0)
回应此评论“请告诉我如何执行此操作”:
要解决LoadLibrary()失败问题,请运行a下的应用程序 调试器并为C0000005启用第一次机会异常处理 访问违规例外。如果发生访问冲突时 调用LoadLibrary()函数,应用程序将进入 调试器。然后可以使用调试器的调用堆栈来跟踪位置 发生了异常。堆栈跟踪应该可以帮助您缩小范围 与遇到的异常有关的实际问题。
在Visual Studio中打开项目
在菜单中,点击Debug
&gt; Exceptions
在Exceptions
窗口中,点击Find...
,然后输入C0000005
点击Ok
选中Thrown
列下突出显示的例外旁边的框。
现在,当您调试程序并抛出异常时,它将会中断,您应该至少可以检查抛出的异常的异常细节。
您可能会被抛入反汇编窗口,因此您可能看不到任何可读代码。如果异常细节不够,您可以尝试使用Dot Peek进行反编译。
这是一个tutorial on enabling Dot Peek as a symbol server。这样做有望在运行时对库进行反编译,以便您可以开始检查导致异常的代码行。