You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
The common theme in many time-travel movies is to go back in time to find out what went wrong and fix it. Developers also have that desire to go back in time and find why the code broke and fix it. But, often, that crucial step where everything went wrong happened long ago, and the information is no longer available. The rr project lets programmers examine the entire life of a C or C++ program run
数列の和を求めるプログラムを作成することになり、意気揚々と以下のようなプログラムを書いたという状況を想像して下さい。 function sum(nums, acc = 0) { if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; console.log(sum(nums)); // expected: 55 一見すると何も問題なさそうに見えるプログラムですが、実はバグがあります (皆さん分かりますか?) *1。実際に上記プログラムを実行すると 55 ではなく 10 が出力されます。 こうした場面に遭遇すると、自然と sum
Hello! I'm Joseph and I'm an Android engineer from the Mobile Infrastructure team. In this post, I will talk about some of the tools that we used in debugging while working on the renewal project. The contents of this post were presented in the recently held Tech Kitchen #25. Renewal Project As mentioned in the article テストケース作成を仕様詳細化の手段とする実験 published earlier this year, the Cookpad app for iOS has
この記事は GMOアドマーケティング Advent Calendar 2020 18日目の記事です。 こんにちは。GMOアドマーケティングのH.Tと申します。 RubyJardについてご紹介したいと思います。 Ruby Jardとは RubyJardはbyebugをベースとして開発されたCUIで動作するRubyデバッガです。 RubyJardは公式サイトによると2020年の7月から開発が始まったとあり現在(2020年11月)最新バージョンがV0.3.1になっています。 開発が始まってまだ一年も経ってないようですが今後様々な機能の実装が予定されておりロードマップを確認できます。 普段の業務の開発環境ではbetter_errorsとbinding_of_callerで画面上でデバッグができるようになっているのですがbyebugやRubyJardのようにコンソール上で動くデバッガは使ったことがな
ブログ読者のみなさん、はじめまして。 株式会社セガのベテランプログラマー阿部です。 このエントリーではデバッグ手法のあれこれについての体験談と、デバッグをテーマに一昨年に実施されたプログラマー向け新人研修の概要をお伝えしたいと思います。 EXE ファイルのデバッグ イーサネット絡みのデバッグ 周辺機器絡みのデバッグ デバッグスキルブートキャンプ 黒子に徹する、裏方系エンジニア EXE ファイルのデバッグ 同僚が作った EXE ファイルが手元にあり、あなたはこれを Windows で起動しようとしています。 起動してみたところ何も反応がなく、しかもそれは想定外のことでした。 「何コレ、動かないんだけど」とあなたが同僚に文句を伝えると、同僚はあなたに返します。 「こっちでは動いてるよ」 困りましたね。 あなたの手元には EXE のソースコードも無ければ、Visual Studio もありません
iOSDC Japan 2020 Day1 13:20~ Track B プロポーザル:https://fortee.jp/iosdc-japan-2020/proposal/3fb66bbc-5a43-44d0-aa60-89abb12939e1 参考実装:https://github.com…
本記事では、1日目におこなわれた『龍が如く7 光と闇の行方』(以下、『龍が如く7』)のデバッグに関するセッション“「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム”をリポート。 セッションには、セガのQAエンジニア・阪上直樹氏と、ビルドエンジニアの粉川貴至氏が登壇した。 バグをハグしたくなる自動システム! まずは阪上氏が開発者たちへ向けて、「バグは好きですか?」という質問からセッションがスタート。最初に龍が如くスタジオの各タイトルで、バグを発見した数の推移が公開された。ゲームの規模が大きくなるにつれ、バグも増加傾向にあるという。 そして全自動バグ取りシステムを運用した『龍が如く7』では、なんと25000ものバグが発見されたという。こう見るとネガティブな印象を受けるかもしれないが、バグ発見数が多ければ多いほど、ゲームクオリティがアップするということだ。 バグとい
本記事では、1日目におこなわれた『ファイナルファンタジーVII リメイク』(以下、『FFVII リメイク』)のデバッグに関するセッション“"FINAL FANTASY VII REMAKE"における自動QAシステムの構築と運用”をリポート。 本セッションで語られたのは自動QAシステムについて。まずQAとは、Quality Assuranceの略称で、日本語で言えば、品質保証。ゲーム開発においては、ゲームが正しく動作しているか、バグが発生しないか、検証する仕事・部門・チームのことを指す。ゲームファンにとっては、デバッグと言ったほうが伝わりやすいかもしれない。つまり、自動QAシステムとは、自動でデバッグをおこなうシステムということだ。 セッションには、スクウェア・エニックスのAIエンジニアを務める太田健一郎氏が登壇した。 ゲームに最適化した自動QAシステムを目指して ゲームというのは、そもそも
今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの
academy Changing the Approach to Debugging in Ruby with TracePoint Ruby has always been known for the productivity it brings to its developers. Alongside features such as elegant syntax, rich meta-programming support, etc. that make you productive when writing code, it also has another secret weapon called TracePoint that can help you "debug" faster. In this post, I'll use a simple example to show
10年以上前の昔話であり、そんなこともあったのねという話。あるいはエンタープライズサポートってそんなことやってるのねという話。 カーネルメモリダンプLinuxカーネルをエンタープライズに使おうとした企業、富士通やIBM、日立といった企業がこぞってカーネルに入れようとした機能がカーネルがパニックした時に「なぜコケたのか」調べるための機能であった。その最たるものがメモリダンプだった。この機能はカーネルパニックが起きた後のメモリをディスクに吐き出す。この吐き出されたメモリイメージをダンプと呼び、これをデバッガに食わせて原因調査をする。 カーネルデベロッパはパニックが起きたら再現条件を探して理詰めでバグを探すのが得意だが、顧客先でパニックが起きたら「再現させてくれ」とは中々言えないのでこの機能はサポートには重要だった。そして、ダンプ調査の技を持つエンジニアも居た。 地雷型メモリ破壊パニック色々と調
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Optimize Your Debugging Process With Object-Oriented Tracing and tapping_device - DEV Community 原文公開日: 2020/01/22 著者: Stan Lo I wrote a blog post to propose a new debugging strategy called object-oriented tracing. I've been experimenting with this concept for months and I'd love to hear any feedback about it or how you debug your Ruby program! Please retweet for reach
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 米国時間3月6日、現在開催中のRSA Conferenceで、米国家安全保障局(NSA)は、組織内で10年以上使用してきたソフトウェアリバースエンジニアリングツール「Ghidra」を無償で公開したと発表した。 このツールはどんなソフトウェアエンジニアにとっても有用だが、特に大きな恩恵に与るのはマルウェアアナリストだ。 NSAの目的は、Ghidraをリリースすることで、NSAや、NSAが非公式にGhidraを共有しているほかの政府情報機関の求人に応募する人材が、あらかじめこのツールに慣れられるようにすることだという。 Ghidraは現在、公式ウェブサイトからしかダウンロードできないが、NSAは今後、ソースコードをオープンソースライセンスで
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Idiosyncratic Ruby: Ruby, Can You Speak Louder? 原文公開日: 2018/05/06 著者: Jan Lelis サイト: Idiosyncratic Ruby 日本語タイトルは内容に即したものにしました。 Rubyのデバッグモードをオンにする方法はいくつかあり、ライブラリの作者が興味のある人向けに詳細な情報を出力することもできます。しかし残念なことにRubyのデバッグモードは複数あるのです。いつどれを使うのがよいのでしょうか? 次のコードで考えてみましょう。 def production_method puts "I am doing the right thing part 1" # @aに一番関心が寄せられている puts "I am doing the right thing
Xcodeのブレークポイントでは音を鳴らすことができて、これは結構便利です。例えばシミュレーターの動作を目で確認する一方で、ブレークポイントを通過したかどうかは耳で確認することができます。シミュレーターの画面を見ながらコンソールのログを追うのは大変ですからね。 また "Automatically continue after evaluating actions" という実行を停止させないオプションと組み合わせるとさらによいですね。ちなみに僕は "Frog" の音が好きです。 Sound ActionとAutomatically continue after evaluating actions これは便利なので仕事中にもたまに使うことがありますが、その時には当然Macのミュートを解除する必要があります。そうすると今度はデバッグの最中にメールやSlackの通知音がオフィスに鳴り響いたりして
■ macOS Sierra で codesign してネットワーク通信時のダイアログを抑制する術 転職した笹田さんが「macOS で Ruby のテストを実行するとネットワーク通信を許可するかどうかのダイアログが出るんだけどみんなこれどうしてるの?」と言い出して、「ああそれは頑張ってクリックして消すものです」と答えていたら、実は Ruby のビルドシステムには macOS の codesign を使って良い感じに codesign する仕組みがあるので試して見た。 基本的な作業は How to install and codesign GDB on OS X El Capitan – Medium に書いてある通りに自己署名の証明書を作成するんだけど、Sierra ではこれに加えて以下のように証明書の下の階層にある秘密鍵のプロパティからアプリケーション全てを許可するようにする必要がある。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く