标签: debugging

如何在控制台或文件中获取os x应用程序的输出?

我正在编写一个嵌入Mono的Cocoa应用程序.我想运行并在终端中查看我的调试输出.在我正在使用的Cocoa方面NSLog(),在我正在使用的Mono方面Debug.Write().我可以在xcode的控制台中看到我的调试输出,但不能在终端中看到.这是我试过的:

$: open /path/build/Debug/MyProgram.app
$: open /path/build/Debug/MyProgram.app > output
$: open /path/build/Debug/MyProgram.app 2> output

在终端,但我没有在控制台或"输出"输出.

什么是正确的命令?

PS.我的最终目标是编写一个vim插件来管理,构建,运行,调试xcode项目.如果你能让这个vi输入管理器使用xcode,你可以省去这个麻烦.

debugging terminal xcode

41
推荐指数
3
解决办法
4万
查看次数

在.NET/Visual Studio中定义TRACE常量

在Visual Studio 2010中,如果转到项目的属性并转到"构建"选项卡,则会出现"定义TRACE常量"复选框.这相当于做#define TRACE.

System.Diagnostics.Trace的所有方法都有[Conditional("TRACE")]它们.

我的问题是你为什么要把它关掉?我的意思是,如果你没有定义任何跟踪侦听器,那么就好像你要填满日志或其他内容.这让我觉得很奇怪.如果您正在努力调用Trace,为什么不想通过App/Web.config来控制它,而是通过编译器开关来控制它,这样就排除了重新启用它的可能性.重新编译.

我错过了什么吗?当然,它不能对性能有害,对吧?

debugging performance visual-studio

41
推荐指数
1
解决办法
2万
查看次数

Android Studio线程调试

我在使用Android Studio 1.1调试多线程应用时遇到了麻烦.似乎当一个断点被击中时,所有其他线程也会停止,而不仅仅是具有断点的线程.我在Activity的onCreate中使用以下方法创建了一个简单的测试应用程序.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Thread a = new Thread("thread-a") {
        @Override
        public void run() {
            Log.v("thread", "thread-a");
        }
    };

    Thread b = new Thread("thread-b") {
        @Override
        public void run() {
            Log.v("thread", "thread-b");
        }
    };

    a.start();
    b.start();
}
Run Code Online (Sandbox Code Playgroud)

我在thread-a和thread-b中的Log.v行设置断点,然后在我的Lollipop Nexus 5上以调试模式运行它.

当应用程序启动时,它会在线程-a中遇到断点,但我注意到的第一个问题是应用程序的UI是空白的,就像主线程暂停一样.接下来我去看看thread-b中的断点也被命中了所以我在Android Studio的调试器中拉出了Threads视图,但是当我去扩展thread-b箭头时,那里什么都没有.当我展开主线程时,它显示它在onStart()的某处暂停.

Android Studio截图

我做错了什么或者这个调试器无法一次调试多个线程?

java debugging multithreading breakpoints android-studio

41
推荐指数
2
解决办法
3万
查看次数

在Xcode中为无法识别的选择器创建断点

是否可以在Xcode中设置断点以使调试器在无法识别的选择器上停止?

我有其他触发的unrecognized selector异常,我只想触发异常,没有别的.

debugging cocoa breakpoints objective-c xcode4

40
推荐指数
1
解决办法
8195
查看次数

如何调试无法忍受的Rails资产预编译

我正在开发一个Rails 3.2项目,最近几个月资产增加了不少,尽管我不认为这个项目很大.资产包括JS(没有咖啡脚本)和SASS文件; 我们有很多图像,但是从早期开始它们就已经存在了很多,所以我不认为它们是一个重要的因素.我们可能有大约十二个库,大多数是小的,最大的是Jquery UI JS.部署是通过Capistrano完成的,并且开始显示部署到分段的速度明显快于生产.为了说明同时避免不同服务器和网络效果的因素,我只需在笔记本电脑上按顺序运行以下三个命令,如下所示:

$ time RAILS_ENV=production bundle exec rake assets:precompile
^Crake aborted!
[Note I aborted this run as I felt it was getting stupidly long...]
real    52m33.656s
user    50m48.993s
sys 1m42.165s

$ time RAILS_ENV=staging bundle exec rake assets:precompile
real    0m41.685s
user    0m38.808s
sys 0m2.803s

$ time RAILS_ENV=development bundle exec rake assets:precompile
real    0m12.157s
user    0m10.567s
sys 0m1.531s
Run Code Online (Sandbox Code Playgroud)

所以我一直在挠头.为什么各种环境之间存在如此巨大的差异?我可以理解开发和分期之间的差距,但我们对分期和生产的配置是相同的.(我应该指出生产编译将在大约2小时后完成!)

虽然最终的结果是让我的预编译更快,但我想通过了解所有时间的进展以及为什么Rails环境之间存在如此大的差异来实现这一目标.我已经看过其他关于使用不同压缩器等的帖子,但我找不到任何有关如何调试这些rake任务的信息,以确定花费时间的地方并确定哪些设置可能导致如此显着的差异.

我不知道人们可能需要哪些其他信息,因此会在评论提出时更新.TIA

更新:下面提供的其他信息

config/environments/production.rbconfig/environments/staging.rb(他们完全一样):

MyRailsApp::Application.configure do
  # Code is not reloaded between requests
  config.cache_classes = …
Run Code Online (Sandbox Code Playgroud)

debugging rake ruby-on-rails asset-pipeline ruby-on-rails-3.2

40
推荐指数
2
解决办法
2万
查看次数

我怎样才能在运行时调试jar?

我从一个非常奇怪的位置(从我的java-newbie观点来看):

  1. 使用Eclipse我写了一个"java程序"(一些带有类的.java文件),它基本上(批处理)读取文本*.csv文件,"评估"其内容,并将结果写入*_out.csv文本文件.要找到输入文件,它使用"文件选择器"(从此处获取示例:http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html)

  2. 我调试了所有代码,并使用调试器,它的工作原理.

  3. 我跑的代码(主类,它调用所有其他的序列)和它的作品,而在Eclipse中.

  4. 我将所有项目的内容导出到"runnable jar"文件中.

请注意,文件选择器分开,这主要是一个读写的"批处理":几乎没有用户界面.在Eclipse中,我使用类似" if(debug)System.out.print("要打印的东西")的内容显示了一些内部结果; " 在生产环境中提供设置" debug "为TRUE而调试时为FALSE.

所有上述工作!

现在,启动runnable jar(双击jar文件,在Win/XP中),我可以看到文件选择器,我可以使用它但是,在选择输入文件之后...... 仅此而已 :(没有用户界面) )我不知道文件是否被读取,我没有看到任何生成的输出文件,我甚至没有"控制台"列出任何中间调试消息,看看jar是否正常工作,即使我重新-export,调试变量设置为TRUE.

有没有办法"运行时调试"正在运行的jar(如VB的MsgBox,或其他东西)?某种"日志文件"我可以"启用"或查看?(很明显,因为我的jar没有写结果文件,所以我也不能尝试编写*.log)我还要说我不能在我的机器上安装除Eclipse之外的东西(幸运的是它跑了),所以没有通常的开发人员的工具,实用程序和其他有用的东西.

java eclipse debugging runtime jar

40
推荐指数
3
解决办法
9万
查看次数

在Android Studio中运行Robolectric测试时如何调试?

我需要在Android Studio + Robolectric中执行测试时运行调试.每次我试图通过选择运行它们debugtest从摇篮任务,我得到错误信息的任务:

运行package_name时出错:app_name [test]:无法打开调试器端口:java.net.SocketException"Socket closed"

有任何想法吗?

debugging android gradle robolectric android-studio

40
推荐指数
1
解决办法
1万
查看次数

查看所有已执行的elasticsearch查询

我想看看针对elasticsearch实例执行的所有查询.是否可以在调试模式下运行elasticsearch,或者告诉它存储针对它执行的所有查询?

目的是查看使用elasticsearch进行分析从软件启动的查询.

debugging analysis elasticsearch

40
推荐指数
3
解决办法
3万
查看次数

无法将Android Studio的调试程序附加到Android进程

我无法将Android Studio的调试器附加到我的可调试应用程序进程.其他人有这个问题吗?基本上我无法在Choose Process对话框中列出我的应用程序.

我选择的是Attach debugger to Android process:

将调试器附加到Android进程

然后,这是Process selectionAndroid Studio 的对话框如下所示:

要调试的列表中没有应用程序

我的应用程序未显示在Choose Process列表中的任何想法?

虽然,DDMSDevices | logcat列表中看到我的应用程序:

<code>Android Monitor</code>也看到<code>Devices</code>列表中的应用程序:</p>

<p><img rel=

我试过这些动作:

  • 重新启动 MacBook
  • 重启设备:试过Samsung Galaxy Note II N7100(4.3)和Samsung Galaxy S4(4.4.2)
  • 重新Settings->Developer Options启用设备
  • 重新Settings->Developer Options->USB debugging启用设备
  • adb通过运行adb kill-server和重新启动adb start-server
  • 从macbook重新连接设备和/或插入另一个USB端口
  • 在macbook上启动Genymotion虚拟设备
  • restarting in TCP mode port: 5555通过运行adb tcpip 5555然后连接到它adb connect 192.168.1.87 …

debugging macos android adb android-studio

40
推荐指数
5
解决办法
5万
查看次数

Angular 2错误和Typescript - 如何调试?

我刚开始学习Angular2和Typescript + Javascript的项目.我来自Java背景,我调试项目的方法通常是堆栈跟踪,编译错误和 - 在大型项目上 - 大量测试用例的组合.然而,其中大部分似乎并没有直接转化为web-dev的世界; 特别是调试我与Angular2的库交互的代码.

任何人都可以建议我可以采取任何方法来调试使用Angular2的代码吗?特别; 如何查看HTML/TS的哪些部分导致问题?我已经检查了控制台,从中我可以看到我已经破坏了Angular2,但它似乎没有更多信息.

只是为了澄清; 我不想要这个具体实例的帮助.我想学习如何诊断+自己修复这些问题.

debugging web typescript angular

40
推荐指数
3
解决办法
4万
查看次数