Index: apps/debug_menu.c
===================================================================
--- apps/debug_menu.c	(revision 12246)
+++ apps/debug_menu.c	(working copy)
@@ -47,6 +47,7 @@
 #include "lcd-remote.h"
 #include "crc32.h"
 #include "logf.h"
+#include "scrobbler.h"
 #ifndef SIMULATOR
 #include "disk.h"
 #include "adc.h"
@@ -2297,6 +2298,76 @@
     return false;
 }
 #endif
+
+bool dbg_scrobbler(void)
+{
+    char buf[32];
+    int button;
+    int line;
+    bool done = false;
+
+#ifdef HAVE_LCD_BITMAP
+    lcd_setmargins(0, 0);
+    lcd_setfont(FONT_SYSFIXED);
+#endif
+
+    while(!done)
+    {
+        button = get_action(CONTEXT_STD,HZ/5);
+        switch(button)
+        {
+            case ACTION_STD_NEXT:
+                audio_next();
+                break;
+            case ACTION_STD_PREV:
+                audio_prev();
+                break;
+            case ACTION_STD_OK:
+                scrobbler_flush_cache();
+                break;
+            case ACTION_STD_CANCEL:
+                done = true;
+                break;
+        }
+        action_signalscreenchange();
+        line = 0;
+
+        lcd_clear_display();
+
+#ifndef HAVE_LCD_BITMAP
+        snprintf(buf, sizeof(buf), "I: %s / P: %s",
+            scrobbler_is_enabled()?"Y":"N", scrobbler_pending()?"Y":"N");
+        lcd_puts(0, line++, buf);
+
+        snprintf(buf, sizeof(buf), "pos: %d", scrobbler_cache_pos());
+        lcd_puts(0, line++, buf);
+#else
+        snprintf(buf, sizeof(buf), "Initialised: %s",
+            scrobbler_is_enabled()?"Yes":"No");
+        lcd_puts(0, line++, buf);
+
+        snprintf(buf, sizeof(buf), "Pending: %s",
+            scrobbler_pending()?"Yes":"No");
+        lcd_puts(0, line++, buf);
+
+        snprintf(buf, sizeof(buf), "Cache_pos: %d", scrobbler_cache_pos());
+        lcd_puts(0, line++, buf);
+
+        line++;
+
+        lcd_puts_scroll(0, line++, "Ok to flush cache");
+        lcd_puts_scroll(0, line++, "Prev/Next to skip");
+        lcd_update();
+#endif
+    }
+
+#ifdef HAVE_LCD_BITMAP
+    lcd_setfont(FONT_UI);
+#endif
+    action_signalscreenchange();
+    return false;
+}
+
 bool debug_menu(void)
 {
     int m;
@@ -2374,6 +2445,7 @@
 #ifdef CPU_BOOST_LOGGING
         {"cpu_boost log",cpu_boost_log},
 #endif
+        { "View Last.fm info", dbg_scrobbler },
     };
 
     m=menu_init( items, sizeof items / sizeof(struct menu_item), NULL,
Index: apps/scrobbler.c
===================================================================
--- apps/scrobbler.c	(revision 12246)
+++ apps/scrobbler.c	(working copy)
@@ -261,3 +261,13 @@
 {
     return scrobbler_initialised;
 }
+
+bool scrobbler_pending(void)
+{
+    return pending;
+}
+
+int scrobbler_cache_pos(void)
+{
+    return cache_pos;
+}
Index: apps/scrobbler.h
===================================================================
--- apps/scrobbler.h	(revision 12246)
+++ apps/scrobbler.h	(working copy)
@@ -22,3 +22,5 @@
 void scrobbler_flush_cache(void);
 void scrobbler_shutdown(void);
 bool scrobbler_is_enabled(void);
+bool scrobbler_pending(void);
+int scrobbler_cache_pos(void);
