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
Orbit, the Open Runtime Binary Instrumentation Tool is a standalone native application profiler for Windows and Linux. It supports native applications written in languages such as C, C++, Rust, or Go. Its main purpose is to help developers identify the performance bottlenecks of a complex application. Orbit can be also used to visualize the execution flow of such applications. The key differentiat
なんか最近になって、VS codeを起動しているとファンが回るようになってしまった。topで調べると関連するプロセスがCPUを100%利用しているので、これが原因だろうとは思う。ただプロセス名が全部codeなので、どんな処理をしている奴がどんな理由でCPUを使っているのか、いまいちよくわからない。仕方ないのでVS codeを再起動するとまあ直ったりするのでそういうふうに使っていた。 今日もそういうことがあったが……いい加減うんざりしたので、調べてみることにした。 VS codeにはprocess explorerが同梱するようになっていたようだ。Ctrl-Shift-Pでコマンドパレットを起動して process explorer を調べて起動すると別ウィンドウが開いて教えてくれる。この機能は正直なところ完成度があまりにも低く、例えばCPUやメモリ使用量でソートしたりできないし、私の使って
PCでアプリケーションを動かしている時に、何らかの理由でアプリケーションの動作が突然止まってしまい、再起動したことがあるという人は多いはず。Mozillaが開発するウェブブラウザではクラッシュ時に「クラッシュレポーター」が起動してレポート時の状況を伝えることができますが、状況によってはそれすらも起動しないこともあります。そんな時に原因を突き止めてFirefoxの開発陣に報告する方法を、Firefoxの開発者がソーシャルニュースサイトのHacker Newsで解説しています。 Since upgrading to 118 I've had random hangs of firefox every few days. Not clea... | Hacker News https://news.ycombinator.com/item?id=38087817 Hacker Newsユーザーの
カーネルをgdbでリモートデバッグできるようにするかーとか思ってやってたわけです。 しかし、下記のような感じでちょっとハマってました。 ブレークポイントが効かなかったり vmlinuxとvmlinuzの組が合ってるのにシンボル名が出なかったり Cannot access memory at address 0xffffffff8124d730とかで落ちたり 原因はKASLRが有効だったため、実行時にアドレスがランダマイズされていたのが原因ですね\(^o^)/ 解決策はKASLRをoffにすれば良いだけです。そのためにカーネルの再ビルドは不要で、カーネルのコマンドラインでnokaslrを渡せばOKです。 そうすればこのようにいい感じに 以下はめも remote接続にシリアルコンソールを使う場合 qemuはこんな感じになる。 $ qemu-system-x86_64 -kernel vmlin
前回までに、デバッガを使用する上での最低限のことを覚えました。 ステップ実行 変数の表示、変更 ブレークポイント 今回は少しレベルを上げて、よりデバッガを使いこなすためのコマンドを紹介します。 ウォッチポイント ウォッチポイントはブレークポイントに近いものですが、ブレークポイントのように「ある地点に遭遇したら停止」ではなく、「監視している変数を操作したら停止」という流れになります。 ファイル内から該当する変数名を探せばいいと考えるかもしれませんが、C言語ではポインタによる変数の別名を付けることが可能であるため、そう単純にはいきません。 書き込みの監視 あまりよいサンプルが思いつかなかったため、簡単で無意味な例を示します。 counter.c #include <stdio.h> void set_counter(int *); int count = 1; int watchee = 0;
1 crashコマンドとは? 2 検証環境 3 インストール方法 4 crashコマンド起動方法 5 コマンド一覧、ヘルプを表示する方法(help) 5.1 コマンド一覧を表示する方法 5.2 コマンドのヘルプを表示する方法 6 logコマンドの使い方 6.1 引数無しで実行する方法 6.2 時刻を表示する方法(-T) 6.3 ログの重要度を表示する方法(-m) 7 setコマンドの使い方 7.1 プロセスコンテキストを表示する方法 7.2 プロセスコンテキストを切り替える方法(set PID) 7.3 表示画面のスクロールオフ・オンの切り替え方法(set scroll off/set scroll on) 8 rdコマンドの使い方 8.1 メモリ内容を16進数/10進数(-d)で表示する方法 8.2 メモリ内容を文字列として表示する方法(-a) 9 modコマンドの使い方 9.1 モジュ
0. はじめに 本記事は、Linuxを対象としたカーネルエクスプロイトの入門記事です。 カーネルエクスプロイトというのは、Linuxや*BSD、Windowsを始めとするカーネル自身の脆弱性を突くエクスプロイトです。 基本的にカーネルはシステム内で最高権限を持つ特権モードで動作しているので、ここを悪用されるとシステムの大部分(ほぼ全て)を掌握されてしまいます。 エクスプロイトと言うと、普通はユーザー空間で動作しているアプリケーションのバグをつく物が多いですが、これだと限られたレベルの権限しか奪えません。 SELinuxやjailを始めとする、OSレベルでの保護機構に阻まれるとたちまち効力を失ったりします。 しかし、カーネル自体の脆弱性をつくカーネルエクスプロイトを利用すると最高権限での任意コード実行が可能なため、大抵の保護機構はものともしません。 このカーネルエクスプロイトが特に効力を発揮
Androidにおけるメモリリーク Javaはメモリリークしない。(過去記事を参照)オブジェクトが相互に参照しあっていても Mark and Sweep によってメモリからクリアされるからだ。 よって、Java、そしてAndroidにおけるメモリリークとは、ライフサイクルの不一致のことを指す。 一般的に、リークするとまずいのは画像などであるが、Androidの場合はActivity(or Fragment)という「画面」も該当する。なぜなら、たいていの画面はたくさんの画像を保持しているからだ。 Androidでは気をつけないとActivityがリークする。今回はActivityのリークを調べる方法をご説明しよう。 Android Studioを使ってActivityのメモリリークを調べる Android Studio の Run > Profile… をクリックすると、apkがdevice
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く