我也碰到过这种奇怪的行为:当我的项目设置设为Any CPU并Prefer 32-bit在64bit Windows 7 OS在.Net 4.5下面的工程计划符合市场预期.然而,如果我关闭Prefer 32-bit然后在单步执行程序时,我可以看到代码从不进入接口实现 - 但也不会抛出任何错误.
我在以下控制台应用程序中将其简化为最简单的形式:
namespace BugCheck
{
interface IBroken
{
bool Broken<TValue> (TValue gen, Large large);
}
class Broke : IBroken
{
public bool Broken<TValue> (TValue gen, Large large )
{ return true; }
}
struct Large
{
int a, b, c;
}
class Program
{
static void Main (string[] args)
{
//32bit can step in. 64bit can't
((IBroken)new Broke()).Broken(1, new Large());
} …Run Code Online (Sandbox Code Playgroud) 有没有办法对节点进行rpc调用,但是输出显示在该节点上,而不仅仅是在调用节点上(事实上,如果调用节点没有显示输出,我就不会太烦恼).
虽然我明白我可以使用
rpc:call( Node, erlang, display, [ someTerm ] ).
Run Code Online (Sandbox Code Playgroud)
这将在Node上显示"someTerm",我真正想要的是获取远程节点终端上显示的已执行方法的结果,以便尝试在Node上运行ls:
rpc:call( Node, c, ls, [] ).
Run Code Online (Sandbox Code Playgroud)
它实际上会将文件夹内容的结果写入Node的终端.
我的想法是,我可以从单个节点驱动演示文稿,但是我正在驱动的节点显示对它们的操作历史.