我问这个的原因是因为我用C++编写,在putty/ssh中编码,我喜欢这样一个事实,即我可以从几乎所有地方编写代码,而无需安装任何东西.
所以我想有一些东西可以帮助我调试(查看变量,断点等的LIVE值)
如果您认为这个世界上没有这样的东西,我可以使用任何好的技术在命令行中进行调试吗?
谢谢
我刚开始在C#中使用CodeContracts,我可能需要一些帮助.我有一个带有静态键列表的类,我有一个名为Remove()的静态方法,它从该列表中删除一个键.
现在我从合同发布条件中理解的是,作为类的程序员,我保证当前的公共方法做了特定的事情,在这种情况下:删除列表的元素.
这是我写的:
private static List<Keys> m_usedKeys; // private list of keys
public static void Remove(Keys _key)
{
m_usedKeys.Remove(_key);
Contract.Ensures(!m_usedKeys.Any(x => x == _key));
}
Run Code Online (Sandbox Code Playgroud)
我在这里尝试"确保"的是,Remove()方法从列表中删除了真实的密钥(是的,这可能是一个简单的例子,但我在那里得到了错误.)
当我写Contract.Ensures()行时,VS2010给出了以下错误:
Error 3 Detected expression statement evaluated for potential side-effect in contracts of method 'LibJungleTimer.KeyBind.Remove(System.Windows.Forms.Keys)'. (Did you mean to put the expression into a Requires, Ensures, or Invariant call?) C:\Users\Joel\Documents\Programmation\JT\JungleTimer\LibJungleTimer\KeyBind.cs 51
Run Code Online (Sandbox Code Playgroud)
我认为这个错误表明该表达m_usedKeys.remove(_key);具有潜在的副作用.事实上,它有一个副作用,它从列表中删除一个键!
如果我尝试写这样的东西:
Contract.Assert(!m_usedKeys.Any(x => x == _key));
Run Code Online (Sandbox Code Playgroud)
好吧编译好.我的问题是我做错了什么?不应该使用CodeContracts来确保发布条件吗?
编辑:是的,我的意思是真的!m_usedKeys.Any(...);
因此,如果我在位于项目的/ web目录中的.dart文件中添加断点,它可以正常工作.例如,我正在使用AngularDart并且main.dart文件可以正常工作.但是,当我尝试在/ lib目录中的任何内容中放置断点时,Dartium不会停止它们.
如何在Dartium中获取断点以使用/ lib目录?
请注意,我尝试使用Dart编辑器,IntelliJ和Dart插件以及直接在Dartium中设置断点,但没有任何效果.这是有意的吗?
我正在使用Stepper小部件,并且正在使用Text小部件作为title参数。
我用于文本的字符串很长,我希望将其包装成多行。我怎样才能做到这一点?
这是我用来构建此代码的代码:
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Stepper(
currentStep: currentStepIndex,
onStepContinue: () => setState(() => currentStepIndex++),
onStepTapped: (int index) => setState(() => currentStepIndex = index),
steps: questions
.map((String q) => Step(
title: Text(q),
content: QuestionWidget(),
))
.toList(),
),
);
Run Code Online (Sandbox Code Playgroud)
我正在编写一个管理一堆定时器的程序.
用户必须手动启动它们,并且能够从每个计时器获取信息,例如知道剩余时间.
我不希望GUI冻结,因此我不希望在主窗体线程上有一个冻结整个事物的计时器.
那么,Timer类是否在新线程上发送计时器,还是将它保存在主UI线程上?
否则,我应该使用后台工作程序来完成此任务吗?
我有一个来自第三方的WPF控件ParentWPFControl我想继承(让我们调用子类ChildWPFControl).在此过程中,我计划覆盖一些后端逻辑和前端样式的一部分.我可以做前者很好,但我做后者有问题.
我尝试为子国家/地区使用xaml < - > xaml.cs结构,但似乎不允许来自VS的以下警告:
Partial declarations of 'ChildWPFControl' must not specify different base classes
Run Code Online (Sandbox Code Playgroud)
现在,我想我可以编写一个ResourceDictionary XAML并在那里定义前端,但如果我想向XAML添加事件处理程序,这就成了问题(至少我找不到办法做到这一点)
我的另一个选择是直接在使用ChildWPFControl的对象中定义覆盖模板,但这使得设计更少模块化.
我能想到的最后一个选择是创建一个xaml < - > xaml.cs对,它是一个XAML样式容器,然后强制ChildWPFControl使用通过后端事件处理程序定义的ControlTemplate.
无论如何,我正在寻找的是一个优雅的模块化解决方案来解决我的问题.任何建议都会受到欢迎.
谢谢
我正在编写一个执行Linq查询的方法,我正在尝试使用TDD.
但是,我的查询现在有了Any(),但有时我会在编写测试后删除或更改代码中的内容,以查看我的测试是否涵盖了应该涵盖的所有内容.
然后,我开始改变Any()了All()只是为了好玩,和我的测试仍然通过.
我想知道我是否必须检查所有不同的情况,所以我得到所有All()和Any()组合:
All()将返回true,但Any()会返回false)我在TDD的几本书中读过,人们经常"伪造"代码,只是测试失败了.但在这种情况下,我必须编写比伪造它更多的代码.
我已经制作了一个类方法,我想要这种类型:
unit -> (dir -> 'b)
但我的实际方法:
method iter () = fun x -> match x with
| Up -> if (Stack.is_empty pz) then raise Stack.Empty else if (Stack.length pz = 1) then failwith "Cannot go up" else (ignore (Stack.pop pz) ; {< a = (Stack.top pz) >})
| Down(v) -> match (Stack.top pz) with
| Noeud(o, {contents = []}) -> raise Not_found
| Noeud(o, {contents = l}) -> if mem_assoc v l then ((Stack.push (assoc v l) pz) ; …Run Code Online (Sandbox Code Playgroud) 我想弄清楚我应该在我的数据库中使用什么数据类型来存储固定的8位数字.
我应该使用char(8)即使它接受其他字符并在应用程序端验证或有类似的东西number(x)可以使它?
我对电话号码栏也有同样的困境.我应该使用char(x)什么或更合适的东西?
编辑 - 您的问题的答案:
12345678901.问题更多的是"如何确保这char[]不会接受字母或其他字符.是否应该在客户端进行验证?我正在使用 websocket (来自 的套接字dart:html),我想知道当用户关闭浏览器或退出页面时是否可以发送消息。
我尝试了onClose这样的事件:
ws = new WebSocket('ws://$hostname:$port/ws');
ws.onOpen.listen(onSocketOpen);
ws.onClose.listen((e) {
ws.send("I disconnected");
});
Run Code Online (Sandbox Code Playgroud)
但在这些特殊情况下它不会发送任何内容。或者,在我的服务器上我也尝试了这个,但是发生了以下onDone事件:
WebSocketTransformer.upgrade(req)
..then((socket) => socket.listen((msg) => doSomething(), onDone:() => print("connection closed)));
Run Code Online (Sandbox Code Playgroud)
这可行,但我想知道哪个客户端断开了连接(我想从实际断开连接的客户端发送一些内容的原因)。
有理由这样做吗?我真的不想查询所有其他客户端以了解当有人断开连接时他们是否仍然连接......